提问人:Sam Klitsner 提问时间:11/18/2021 最后编辑:BarmarSam Klitsner 更新时间:11/18/2021 访问量:81
Jquery Ajax POST请求的错误函数执行不一致
Inconsistent execution of Error function for Jquery Ajax POST request
问:
我在处理 Jquery Ajax 请求的错误时遇到了一个问题,并且无法找到它的根源。
我有一个暂存站点,我正在测试表单提交的错误响应。当我第一次完整填写表单并单击“提交”时,表单将替换为简短的“正在处理”消息,然后输入字段会重新出现,并显示令牌无效的预期错误消息。
但是,当我单击后续次数时,即使我可以看到错误响应,有时它也会卡在显示“正在处理”消息上。这很奇怪,因为我的函数中被触发了,但是应该处理 Form 状态的 Jquery 调用似乎并不完整,即使它们在同一范围内。console.error()
Error:
以下是处理表单状态的jquery变量:
const $formErrorState = $('#SIM-Order-Error-State');
const $formErrorStateText = $('#SIM-Order-Error-State-Text');
const $formCompleteState = $('#SIM-order-complete-state');
const $formSuccessState = $('#SIM-order-success-state');
const $formInitialState = $('#SIM-order-form');
和调用本身:
function simOrderRequest(token, fData){
console.log(fData);
console.log(JSON.stringify(fData));
$.ajax({
method: 'POST',
url: 'https://control.dev.yomobile.xyz/api/v1.0/sim-request/confirm/?token='+token,
data: JSON.stringify(fData),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
if (data.type=="bad_request" || data.status==400) {
$formErrorState.show();
$formSuccessState.hide();
$formErrorStateText.text(data.responseJSON.type+": "+data.responseJSON.description);
$formInitialState.show();
}
if (data.status==500){
$formErrorState.show();
$formSuccessState.hide();
$formErrorStateText.text(data.responseJSON.type+": "+data.responseJSON.description);
$formInitialState.show();
}else {
$formCompleteState.show();
$formSuccessState.hide();
}
},
error: function (error) {
$formSuccessState.hide();
$formErrorState.show();
$formInitialState.show();
$formErrorStateText.text(error.responseJSON.type+": "+error.responseJSON.description);
console.error(error);
},
});
}
});
但有时它会卡在这里,一旦返回错误,并且不会返回到输入字段
答: 暂无答案
评论