Jquery AJAX无法在IE9中运行

时间:2012-09-25 22:47:17

标签: jquery ajax

我正在编写一个ajax Web应用程序,但出于任何原因,当我对Internet Explorer 9(IE9)中的内部数据服务执行GET时,它不起作用。同样的调用在Chrome,Firefox和Safari中完美运行。我正在使用localhost Web服务器(wamp)进行开发,并在与我试图访问的数据服务相同的网络上进行开发。我正在使用Jquery 1.8.1(我已经回过头几个版本,但仍然看到了问题)。我的代码如下所示:

$(document).ready(function() {

                    var loginUrl = "http://omittedurl.com";
                    console.log(loginUrl);
                    $.ajax({
                        type : "GET",
                        url : loginUrl,
                        dataType : "json",
                        success : function(response) {
                            console.log("RESPONSE: " + response);

                        }
                    });
            });

正如我之前所说,此代码在Chrome和Firefox上运行良好。在IE9中,当我查看Web调试器时,日志中没有错误。就像IE9完全无视.ajax块一样。我尝试过的事情:

  • 关闭Ajax缓存
  • 网址编码我的请求网址
  • 回到三个旧版本的Jquery
  • 从IE9手动ping我的网址(能够得到回复)

任何想法??

1 个答案:

答案 0 :(得分:26)

看起来像是

的问题

<强>的console.log()

当开发人员工具未打开时,IE没有控制台对象。尝试通过注释console.log运行代码,然后重试..

$(document).ready(function () {

    var loginUrl = "http://omittedurl.com";
    //console.log(loginUrl);
    $.ajax({
        type: "GET",
        url: loginUrl,
        dataType: "json",
        success: function (response) {
           // console.log("RESPONSE: " + response);
           alert("RESPONSE: " + response)
        }
    });
});

如果你想使用控制台,你需要先定义,如果开发人员工具没有打开..

if (typeof console === "undefined" || typeof console.log === "undefined") {
     console = {};