Javascript 脚本5007错误“;“未找到对象”;仅在Internet Explorer上
当我第一次加载一个页面时,我会调用ajax为客户端带来一些数据。调用的是另一个域,答案是JSONP。该调用类似于:Javascript 脚本5007错误“;“未找到对象”;仅在Internet Explorer上,javascript,ajax,internet-explorer,Javascript,Ajax,Internet Explorer,当我第一次加载一个页面时,我会调用ajax为客户端带来一些数据。调用的是另一个域,答案是JSONP。该调用类似于: $.ajax({ type: "GET", url: url + "?callback=?", dataType: "jsonp", contentType: "application/javascript;charset=UTF-8", async: true,
$.ajax({
type: "GET",
url: url + "?callback=?",
dataType: "jsonp",
contentType: "application/javascript;charset=UTF-8",
async: true,
success: successCallback,
error: errorCallback,
cache: true,
jsonpCallback: jsonCB
});
“application/javascript”可能是这里的罪魁祸首,因为我在这个主题上做了研究,但这出现在以前版本的代码中,从来没有出现过这个问题。
在除IE以外的所有浏览器上,我都会收到以下错误(有时,通常是第一次出现问题):
收到的JSONP如下所示:
func({"result":"abc"})
func的参数是一个有效的JSON,因为我使用jslint检查了它。
任何想法都将受到高度赞赏!谢谢大家! 在
$.ajax
函数中缺少对象括号{}
。修改如下:
$.ajax({
url:'',
contentType: 'application/javascript;charset=UTF-8',
crossDomain:true
......
});
jQuery方法要么接受url参数和指定为对象的附加选项的可选参数,要么接受包含url的对象参数。由于我无法访问源代码,因此调用是从我的头顶写的。它肯定有括号。我编辑了这个问题以反映这一点。@ArielChelsău如果可能,请发布您的原始代码。尝试在浏览器中查看源代码,并在必要时将其从浏览器中拉出。没有它,显然没有人能够诊断这个问题。
$.ajax({
url:'',
contentType: 'application/javascript;charset=UTF-8',
crossDomain:true
......
});