我刚刚开始这个网络项目。正在使用打字稿。我正在看这个:
$.ajax({
type: method,
url: url,
xhrFields: {
withCredentials: $.support.cors
},
crossDomain: $.support.cors,
data: data,
dataType: (this.options.fallbackMethod ? this.options.fallbackMethod : "json")
}).then(
(data, textStatus, jqXHR) => { if (typeof (successCallback) === "function") successCallback(data, textStatus, jqXHR); },
(jqXHR, textStatus, errorThrown) => {
console.log("ajax failed: ");
console.log(errorThrown);
console.log(jqXHR);
console.log(textStatus);
if (typeof (failCallback) === "function") failCallback(jqXHR, textStatus, errorThrown);
}
);
当我们向服务器发出请求时,它会被调用。当我收到来自服务器的错误请求时,我在 Firebug 和 Fiddler 中看到,服务器正在发回带有错误代码(例如 400)和错误消息(“找不到该资源”)的 JSON 对象。 .
但我不明白的是如何取回那个 JSON 对象以便我可以解析它。当我记录所有参数(errorThrown、jqXHR、textStatus)时,似乎没有办法恢复 JSON。我只看到将消息和错误代码捆绑在字符串中的 responseText 属性,而不是 JSON 对象。在调用此方法之前,我确实进行了检查以确保它dataType
实际上是 json。有什么想法吗?提前致谢。