我已经构建了一个客户端应用程序,它使用 Ajax 调用另一个域上的 WebService(服务器支持 CORS)。
有时,当 Ajax 进行预检调用时,它会从服务器获取 http 错误代码 400 或 500,并以以下格式响应:
{
"httpStatus": 400,
"statusCode": 400
}
我可以在浏览器控制台中看到错误,但在我的 JavaScript 代码中,我只得到状态 0 和 statusText“错误”。有谁知道如何从 JavaScript 中的预检调用中检索输出?
我的 Ajax 调用看起来像这样:
$.ajax({
type: method,
xhrFields: { withCredentials: true },
url: url,
cache: false,
data: data || '',
contentType: 'application/json; charset=UTF-8',
dataType: 'json',
beforeSend: function(r) {
r.setRequestHeader('Authorization', 'Bearer ' + oauthtoken);
r.setRequestHeader("X-Client-Version", "0.0.1");
}
}).success(function(response) {
console.log("success - service " + url);
callback(response);
}).fail(function(response, textStatus, errorThrown) {
console.log("fail - service " + url);
callback(response);
});