我有一个Web服务器1来访问Web服务器2端点。
Web服务器1有许多ajax调用。一种是访问Web服务器2'https://webserver2.com/getresults'的端点:
var deferCallReturn = $.ajax({
type: 'GET',
contentType: "application/json",
crossDomain : true,
dataType: 'jsonp',
url: 'https://webserver2.com/getresults'
});
deferCallReturn.done(function(data) {
// Process result.
})
.fail(function(data) {
// Process error.
});
Web服务器2端点结果有2行。第1行是非法的json,我无法改变。
)]}'
{"result": ["1", "2"]}
此结果导致失败功能被触发。
我的问题是
1)如何删除非法json的第1行,以便调用成功函数?
2)我尝试了ajaxSetup,但无法在'data'参数中获得任何结果。这是解决它的方法吗?我的理解是所有ajax调用结果都是由dataFilter处理的,但是,只有1个ajax调用有这个问题。如何只处理这一个电话?
$.ajaxSetup({
dataFilter: function(data, type) {
if (type == 'jsonp') {
// Will remove 1st illegal json, and then return. But, not getting anything here? When getting here, data=undefined.
// return data;
} else {
return data;
}
}
});