Script5007错误"找不到对象"仅限Internet Explorer

时间:2014-05-14 19:36:19

标签: javascript ajax internet-explorer

当我第一次加载页面时,我进行了一次ajax调用,为客户端带来一些数据。调用是针对不同的域,答案是JSONP。该调用类似于:

$.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之外的所有浏览器上,我收到以下错误(有时,通常是第一次,然后问题消失):

script5007 object not found - line 1, char 1

收到的JSONP看起来像这样:

func({"result":"abc"})

func 的参数是一个有效的JSON,因为我使用jslint检查了它。 任何想法将受到高度赞赏!谢谢!

1 个答案:

答案 0 :(得分:0)

您错过了{ }功能中的对象括号$.ajax。像这样修改它:

$.ajax({
    url:'',
    contentType: 'application/javascript;charset=UTF-8',
    crossDomain:true
     ......
});

jQuery $.ajax方法可以使用url参数和指定为对象的其他选项的可选参数,也可以使用包含url的对象参数。