小编典典

jQuery AJAX在IE9中不起作用

ajax

我正在编写ajax Web应用程序,但是由于任何原因,当我在Internet Explorer
9(IE9)中对内部数据服务执行GET时,它都无法正常工作。同样的调用在Chrome,Firefox和Safari中也可以正常工作。我正在使用本地主机Web服务器(沼泽)进行开发,并且正在与要尝试的数据服务在同一网络上进行开发。我正在使用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(能够获得响应)

有任何想法吗??


阅读 422

收藏
2020-07-26

共1个答案

小编典典

看起来像是一个问题

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)
        }
    });
});

如果要使用console,则在未打开开发人员工具的情况下,首先需要定义它。

if (typeof console === "undefined" || typeof console.log === "undefined") {
     console = {};
2020-07-26