11

我正在编写一个 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 缓存
  • URL 编码我的请求 URL
  • 回到三个旧版本的 Jquery
  • 从 IE9 手动 ping 我的 URL(能够得到响应)

有任何想法吗??

4

1 回答 1

26

看起来像它的一个问题

控制台.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 = {};
于 2012-09-25T23:10:15.343 回答