我正在尝试使用jQuery将AJAX请求发送到其他服务器。我在当地经营。如果我使用HTML dataType,我会得到经典的Origin http://127.0.0.1 is not allowed by Access-Control-Allow-Origin
。所以我开始使用JSONP请求:
$.ajax({
url: 'SomeRemoteServer/SomeFile',
dataType: 'jsonp',
success: function(data) {
// do stuff
},
error: function(d,msg) {
alert(msg);
}
});
捕获的错误为parsingerror
,Chrome js调试器输出Resource interpreted as Script but transferred with MIME type text/html
。在网上仔细查找此错误后,我发现错误来自服务器而不是我的脚本(它应该发回MIME类型application/json
或接近此的内容)。
然而,似乎服务器正在发送一些东西......我想捕获响应并自我处理解析。这可行吗?如果有,怎么样?我尝试$.ajax()
选项converters
,但没有成功......
答案 0 :(得分:0)
我使用dataFilter
$.ajax({
url: 'SomeRemoteServer/SomeFile',
dataType: 'jsonp',
dataFilter: function(data) {
// will run ok !
}
success: function(data) {
// will fail
},
error: function(d,msg) {
// will result in parsing error
}
});