我正在运行ajax调用以从API获取一些数据。呼叫本身工作正常,我得到200(OK)作为回应。我也可以在我的开发工具中看到JSON数据。但最后警报是"错误"我在我的控制台中有一个" Uncaught SyntaxError:Unexpected token:" 。
那里出了什么问题?
$.ajax({
url: 'my url',
type:'GET',
xhrFields: {
withCredentials: true
},
cache: false,
dataType: 'jsonp',
contentType: 'application/x-www-form-urlencoded',
// headers: {
// 'Authorization': 'Basic ' + btoa('uberall:cat-aspirin-window-cake')
// },
beforeSend: function (xhr) {
xhr.setRequestHeader('Authorization', 'Basic ' + btoa(user + ":" + pw));
},
success: function(text) { alert('success'); },
error: function (text) { alert('error'); },
complete: function(text) { alert('complete'); }
});
答案 0 :(得分:0)
如果你正在使用jsonp,你应该实现一个回调方法,似乎你错过了它。
您可以首先尝试通过将以下函数替换为错误字段来打印错误,看看它是否缺少jsonpCallback或其他错误
error:function(jqXHR, textStatus, errorThrown){
console.log("jqXHR",jqXHR);
console.log("textStatus",textStatus);
console.log("errorThrown",errorThrown);
}
如果是jsonp你应该检查服务器端看看应该是什么回调,但你不知道,你可以尝试添加尽可能多的服务器设置这是默认的
注意:这不是一个好的实践
jsonp: 'callback'