jQuery JSONP“Uncaught SyntaxError:Unexpected token:”

时间:2011-09-02 17:42:42

标签: jquery ajax jsonp

这是我的AJAX电话:

$.ajax({
    type: 'GET',
    url: User.baseURL + 'api/users/briefProfile',
    dataType: 'jsonp',
    success:function(data,text,xhqr){
        //var data = $.parseJSON(data);
        console.log(data);
    },
    error: function(jqXHR, textStatus, errorThrown) {

        console.log("ERROR");
    },
    complete: function(jqXHR, textStatus) {

        console.log("complete");
    }

});

错误是:Uncaught SyntaxError: Unexpected token :

我在Chrome中得到200分(最新)。我在响应中获得了有效JSON的所有内容。我并不在乎浏览器没有正确解析它,但我真的希望在完整的回调中访问它。

任何想法是什么 a)导致错误? b)如何到达客户端返回的内容?

4 个答案:

答案 0 :(得分:0)

服务器需要支持jsonp

并且响应应该是:

jsonpcallbackname&&jsonpcallbackname({{"guid":"E5FC2115FF59","lastName":"Smith","JSESSIONID":"HVQN6jITo8aa8KrHV"...}})

答案 1 :(得分:0)

您的服务器(Web服务)必须支持JSONP(跨浏览器支持)。

答案 2 :(得分:-1)

我认为您需要在代码中添加类似这样的回调函数

url: User.baseURL + 'api/users/briefProfile?jsoncallback=callbackFunction',

function callbackFunction() {
     // code to execute in success handler
}

答案 3 :(得分:-3)

我遇到了类似问题,可以使用eval解决此问题。试试这个:

 eval("(" + data + ")")