我有这个超级奇怪的错误,这个方法在IE9中失败了。 什么是超级奇怪的是,如果IE [开发人员工具] 打开,方法不会失败。我不知道如何通过打开窗口来改变脚本的执行。
当我打开IE [Developer Tools]执行此脚本时,该函数按预期执行。 当IE [开发人员工具]关闭时,它会执行:
alert("00000000000000000000000000000000000");
alert("4444444444444444444");
就是这样,没有其他警报被触发。
我尝试删除timeout: 20000
和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');
}
});
}
答案 0 :(得分:3)
这是否回答了你的问题?调试器尚未打开时,似乎控制台对象不可用。
答案 1 :(得分:0)
您的第一个提醒是
alert("00000000000000000000000000000000000");
当功能成功时,它会发出警告alert("4444444444444444444");
它不会输入错误和完成功能警报只会发生在那些相应的事件上(如果它的错误或其他东西..)
尝试将url: "Igud.aspx/PostD",
更改为其他内容..您将收到错误警告部分
“