gpt4 book ai didi

javascript - jquery ajax 响应错误无法正常工作

转载 作者:行者123 更新时间:2023-11-28 04:22:50 29 4
gpt4 key购买 nike

我有一个对 API 的 Ajax 调用,当 URL 和参数都正确时,它将正确返回 (200)。现在我试图用错误的请求强制出错。控制台会通知我错误代码 400,但似乎永远不会进入错误方法。相反,它会卡在某些 jquery 行中并且永远不会返回。

 fetch: function(successCallback, errorCallback) {
var apiUrl = this.applyFilter(filters);
var self = this;

this.log('fetch', apiUrl, currentSearchMode);

$.ajax({
url: apiUrl,
type: 'GET',
cache: (debug) ? true: false,
processData: true,
crossDomain: true,
scriptCharset: 'UTF-8',
jsonp: 'callback',
dataType: 'jsonp',
success: function(data, statusText, jqXHR) {
console.log(jqXHR);
// if(jqXHR.status == 400){
// console.log('there is an error');
// }
self.log('fetch::success', data);
if (typeof data.error !== 'undefined') {
showNoResultError = true;
var appData = lastValidResult[currentSearchMode];
} else {
showNoResultError = false;
var appData = self.normalize[currentSearchMode](self, data);
lastValidResult[currentSearchMode] = appData;
}
if (typeof successCallback === 'function')
successCallback(appData);
},
error: function(jqXHR, textStatus, errorThrown) {
//do sth here

// if(jqXHR.status&&jqXHR.status==400){
// alert(jqXHR.responseText);
// }else{
// alert("Something went wrong");
// }
// console.log('works now');
// self.log('fetch::error', textStatus, errorThrown);
// if (typeof errorCallback === 'function')
// errorCallback.apply(this, arguments);
},
complete: function(jqXHR, textStatus) {
console.log(jqXHR);
console.log('complete');
}
});
},

所以图像显示了它被卡住的地方。我只能捕捉完整和成功的功能,但当有 400 响应时,什么也没有发生。尝试了任何东西,也尝试了done()、fail(),因为我认为已弃用的行为可能存在问题。但同样的问题在那里。请问有人可以帮忙吗?

最佳答案

尝试:

fetch: function(successCallback, errorCallback) {
var apiUrl = this.applyFilter(filters);
var self = this;

this.log('fetch', apiUrl, currentSearchMode);

$.ajax({
url: apiUrl,
type: 'GET',
cache: (debug) ? true: false,
processData: true,
crossDomain: true,
scriptCharset: 'UTF-8',
jsonp: 'callback',
dataType: 'jsonp',
success: function(data, statusText, jqXHR) {
console.log(jqXHR);
// if(jqXHR.status == 400){
// console.log('there is an error');
// }
self.log('fetch::success', data);
if (typeof data.error !== 'undefined') {
showNoResultError = true;
var appData = lastValidResult[currentSearchMode];
} else {
showNoResultError = false;
var appData = self.normalize[currentSearchMode](self, data);
lastValidResult[currentSearchMode] = appData;
}
if (typeof successCallback === 'function')
successCallback(appData);
},
error: function(data){
console.log(data);
console.log(data.responseText);
},
complete: function(jqXHR, textStatus) {
console.log(jqXHR);
console.log('complete');
}
});
},

然后,告诉我你的控制台中有什么

关于javascript - jquery ajax 响应错误无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45308965/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com