这是我的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)如何到达客户端返回的内容?
答案 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 + ")")