4

我已经构建了一个客户端应用程序,它使用 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);
});
4

0 回答 0