gpt4 book ai didi

javascript - 如何处理 JSON javascript post 的 500 错误?

转载 作者:行者123 更新时间:2023-11-27 23:19:27 25 4
gpt4 key购买 nike

有几种不同的方法来编写 JSON block ,但我更喜欢的方法如下所示:

$.post('/controller', { variable : variable }, function(data){
if(data.status == '304') {
// No changes over the previous
} else if(data.status == 'ok') {
// All is good, continue on and append whatever...
} else if(data.status == 500) {
// Server error, brace yourself - winter is coming!
}
}, "json");

我尝试将最后一个条件设为 else if data.status == null, 500, false,并将其作为 else 语句(而不是 else if),但仍然没有任何结果。这告诉我,因为它返回 500 错误并且根本无法获取任何信息,所以它甚至不会考虑在括号内执行任何操作,因此在它之外必须有一个异常,对还是我错了?

我到底如何让它工作而不必使用类似的东西

$.ajax({
url : '/controller',
type : 'POST',
dataType : {
lookup : JSON.stringify(lookup)
},
data : lookup,
contentType : 'application/json; charset=utf-8',
success: function (data) {
// Stuff
},
error: function (xhr, ajaxOptions, thrownError) {
// Stuff
}
});

谢谢!

最佳答案

第三个参数为$.post()称为 success,因此该函数仅在 success 上运行。 500 是错误状态,因此该函数未运行。

相反,您应该能够使用 Deferred$.post()返回的对象。这包含 always()方法,无论成功或失败都会运行:

$.post('/controller', { variable : variable }, null, "json")
.always(function(data, textStatus, jqXHR) {
if(jqXHR.status == 304) {
// No changes over the previous
} else if(jqXHR.statusText == "OK") {
// All is good, continue on and append whatever...
} else if(jqXHR.status == 500) {
// Server error, brace yourself - winter is coming!
}
});

关于javascript - 如何处理 JSON javascript post 的 500 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35509277/

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