我正在开发一个需要访问某个远程Web服务的移动应用程序。我正在使用jQuery.ajax(),并且由于相同的原始策略,我被迫使用JSONP执行我的请求。 我的客户请求是这样的:
$.ajax({
type: "GET",
url: "http://www.foo.jws/bar",
contentType: "application/json; charset=utf-8",
data: {},
dataType: 'jsonp',
success: function(msg) {
console.log(msg);
},
error: function() {
console.log('error');
}
});
我一直收到的错误是“Uncaught SyntaxError:Unexpected identifier”
我做错了什么?
编辑: WS中的数据是XML格式
答案 0 :(得分:2)
你在这里缺少一个功能。
error: function() {
console.log('error');
}
另外,取出尾随的逗号。
答案 1 :(得分:0)
您的错误回调代码不正确。我不确定这只是因为你在这里输入代码,或者复制/粘贴它。应该是:
error: function (jqXHR, textStatus, errorThrown) {
console.log('error');
}
然后,您可以从出现在错误回调中的参数中获取有关调用内容的更多信息。
编辑:好的,既然您从服务器获取XML,则需要将dataType从jsonp更改为xml。 dataType选项告诉jQuery返回时期望的数据类型。
$.ajax({
type: "GET",
url: "http://www.foo.jws/bar",
contentType: "application/json; charset=utf-8",
data: {},
dataType: 'xml',
success: function(msg) {
console.log(msg);
},
error: function() {
console.log('error');
}
});