0

我有这个超级奇怪的错误,这个方法在 IE9 中失败。最奇怪的是,如果 IE [开发者工具] 是打开的,该方法不会失败。我不知道打开窗口如何改变脚本的执行。

当我在 IE [开发人员工具] 打开的情况下执行此脚本时,该函数按预期执行。当IE【开发者工具】关闭时,执行:

   alert("00000000000000000000000000000000000");
   alert("4444444444444444444");

就是这样,没有其他警报被触发。

我试过删除 timeout: 20000and 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');
            }
        });

}

4

2 回答 2

3

这回答了你的问题了吗?调试器未打开时,控制台对象似乎不可用。

IE9是否支持console.log,它是一个真正的功能吗?

于 2012-06-19T03:23:05.013 回答
0

您的第一个警报是

alert("00000000000000000000000000000000000");

当功能成功时,它会发出警报 alert("4444444444444444444");

并且它不会输入错误并完成功能警报只会发生在那些相应的事件上(如果它的错误或其他东西..)

尝试将其更改url: "Igud.aspx/PostD",为其他内容..您将在错误部分收到警报'

于 2012-06-19T03:28:48.303 回答