我目前正在为一个项目开发新的功能,在这个项目中,用户可以同时添加一个或多个条目。这些步骤如下:
然而,到目前为止,这一切都是可行的,但也存在一个问题。实际上,当您多次运行时,包含所有年度报告的div都会出现错误,我的意思是在第一次之后不要刷新,或者使用以前的数据。它不会刷新。我已经关闭了对ajax调用的缓存,删除了警报,删除了setTimeout实例,删除了div并将其添加回了,等等。
但是,如果我打开IE开发工具,它就能工作。我读到IE因使用缓存而臭名昭著,这有时很好,但在这种情况下并非如此。
是否有任何方法关闭缓存并强制div重新加载?
下面是我对发生的事情的代码。
AddARPartialView.cshtml:
$(document).ready(function () {
$("#btnAdd").click(function (e) {
//Stop system from proceeding to server immediately
e.preventDefault();
//Used for checking Completion
var success = false;
//Show spinner while system processes page
//ShowProgress();
//Check to see if there was any validation errors
ShowValidationErrors();
//There was an error, so do nothing
if (hasError) {
//hideprogessbar();
return false;
}
//Save Message
$.ajax({
type: "POST",
cache: "false",
url: "/PM/AddARPartialView",
dataType: "json",
data: $('form').serialize(),
success: function (result) {
if (result.success) {
//Mark Success as true
success = true;
//Hide the Progress bar and show the success message
//hideprogessbar();
}
else {
//Mark Success as false
success = false;
//hideprogessbar();
var DetailError = 'Error while creating new Annual Reports. Please contact administrator with below details.'
+ '\n' + '\n' + result.Error;
$("#lblError").show();
$("#lblError").text(DetailError);
}
},
error: function (xhtr, e, e2) {
alert(e + '\n' + xhtr.responseText, 'error', '');
},
complete: function () {
if (success)
{
CloseARModal();
UpdateAnnualReports();
}
}
});
});
});普通页:
function CloseARModal() {
var arWindow = $("#AnnualReport").data("tWindow");
arWindow.close();
}
function UpdateAnnualReports() {
//Show spinner while system processes page
//ShowProgress();
$.ajax({
type: "GET",
cache: "false",
url: "/PM/ARPartialView",
success: function (result) {
$("#divARe").html(result);
},
error: function (xhtr, e, e2) {
if (xhtr.status === 401)
alert("Session Timeout or Unauthorized to access this webpage");
else
alert(e + '\n' + xhtr.responseText);
}
});
//hideprogessbar();
//alert("New Annual Report(s) added successfully!");
}发布于 2017-02-08 16:10:15
所以我的脸肯定因为尴尬而发红了。我解决了这个问题。如果检查Ajax调用,就会注意到缓存,我将它设置为"false“。它不应该在它周围有引号,而应该是完全错误的。
我在其他人的Ajax调用中注意到了这一点,并在我的调用中进行了尝试。当然,缓存问题马上就消失了,哈哈…
令人愤怒的是,几天的研究、尝试和错误的尝试,以及把我的头撞在桌子上的努力都白费了,因为我有一个坏的榜样要从前承包商那里效法。我应该永远记住,如果看上去很奇怪,就去质疑吧,亲爱的。
https://stackoverflow.com/questions/42097183
复制相似问题