我有这个超级奇怪的错误,这个方法在 IE9 中失败。最奇怪的是,如果 IE [开发者工具] 是打开的,该方法不会失败。我不知道打开窗口如何改变脚本的执行。
当我在 IE [开发人员工具] 打开的情况下执行此脚本时,该函数按预期执行。当IE【开发者工具】关闭时,执行:
alert("00000000000000000000000000000000000");
alert("4444444444444444444");
就是这样,没有其他警报被触发。
我试过删除 timeout: 20000
and cache: false
,但没有帮助。
function postAssets(datapm) {
alert("00000000000000000000000000000000000");
$.ajax({
type: "POST",
url: "Igud.aspx/PostD",
cache: false,
contentType: "application/json; charset=utf-8",
data: '{"postedData":"' + datapm + '"}',
dataType: "json",
timeout: 20000,
tryCount: 0,
retryLimit: 10,
success: function (msg) {
alert("4444444444444444444");
console.log('success postAssets ' + msg.d);
},
complete: function (jqXHR, status) {
alert("44444444444aaaaaaaaaaaaaaaaaaaaaaaaaaaa44444444");
if (status == 'success' || status == 'notmodified') {
alert("aaaaaa");
console.log('complete postAssets' + jqXHR.responseText);
var obj = jQuery.parseJSON(jqXHR.responseText);
alert("bbbb");
// alert(parseInt(obj.d));
// alert(parseInt(obj.d) == 1);
if (parseInt(obj.d) == 1) {
$("#thxbox").html("TEST");
alert("ccc");
if ($("#Q3_3").attr('checked') == 'checked') {
$("#thxboxMd").dialog("option", { height: 470 }); alert("dddd");
$("#thxboxReg").show(); alert("eeee");
$("#thxbox").effect("pulsate", { times: 3 }, 1200); alert("ffff");
}
else {
$("#thxboxReg").hide();
$("#thxboxMd").dialog("option", { height: 180 });
}
$("#thxboxMd").dialog("open");
$("body").off("click", "#sbbtn");
$('body').on('click', '#sbbtn', function () {
$("#thxbox").html("TEST");
if ($("#Q3_3").attr('checked') == 'checked') {
$("#thxboxMd").dialog("option", { height: 470 });
$("#thxboxReg").show();
$("#thxbox").effect("pulsate", { times: 3 }, 1200);
}
else {
$("#thxboxReg").hide();
$("#thxboxMd").dialog("option", { height: 180 });
}
$("#thxboxMd").dialog("open");
});
}
else {
$("#thxbox").html("TEST");
$("#thxboxMd").dialog("open");
$("#thxbox").effect("pulsate", { times: 3 }, 900);
}
}
},
error: function (req, status, error) {
alert("444444444444411111111111111111112222222222222222444444");
this.tryCount++;
if (this.tryCount <= this.retryLimit) {
var offSet = this.tryCount * 1000;
getAssetsRecovery = this;
var retry = function () { $.ajax(getAssetsRecovery); };
setTimeout(retry, offSet);
console.log(arguments);
console.log('error postAssets' + error);
$("#thxbox").html("TEST");
$("#thxboxMd").dialog("open");
$("#thxbox").effect("pulsate", { times: 3 }, 900);
return;
}
console.log('error postAssets');
}
});
}