Internet Explorer中的Jsonp回调无法正常工作

时间:2016-03-16 11:32:36

标签: jquery ajax internet-explorer jsonp

我正在使用JSONP通过AJAX从API收集数据。我已经在firefox和chrome中测试了我的代码,它在这些浏览器中运行良好。

我使用的链接格式如下:
www.placeholder.com/foo/?jsonp=dataCallback

然而,当我试图在Internet Explorer 11中做同样的事情时,我得到一个错误说:
对象不支持属性或方法" dataCallback'

我注意到在firefox和chrome中,窗口将包含一个名为" dataCallback"的对象。当我执行请求时。但是,在Internet Explorer 11中,没有" dataCallback"当我执行请求时出现在窗口中。

        $.support.cors = true;

        $.ajax({
            url: url,
            dataType: "jsonp",
            contentType: "application/javascript",
            crossDomain: true,
            async: true,
            cache: true,
            // Work with the response
            complete: function (response) {
                var data = window["dataCallback"]();
                callback(self.parseData(data, scope, end), transport);
            }
        });

我这是一个已知问题?我该如何解决?

1 个答案:

答案 0 :(得分:0)

我弄清楚问题是什么。上面的代码适用于Internet Explorer。

出了什么问题,我构建了一个用户名:密码封装在其中的URL。显然,Internet Explorer不支持在URL中包含用户名和密码,这就是它失败的原因。