我正在使用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);
}
});
我这是一个已知问题?我该如何解决?
答案 0 :(得分:0)
我弄清楚问题是什么。上面的代码适用于Internet Explorer。
出了什么问题,我构建了一个用户名:密码封装在其中的URL。显然,Internet Explorer不支持在URL中包含用户名和密码,这就是它失败的原因。