我正在使用下面的代码发布一些 JSON 信息。目前,如果成功(200 响应)弹出警报,但如果不成功则什么也不会发生。
我想做的基本上是说如果成功就做 X,否则就做 Y。
我尝试在函数中使用 if/else 语句,但它似乎不起作用。
如果这是一个愚蠢的问题,我深表歉意,我是使用 JSON、XHR 等的新手。非常感谢任何帮助。
jQuery["postJSON"] = function(url, data, callback) {
if (jQuery.isFunction(data)) {
callback = data;
data = undefined;
}
return jQuery.ajax({
url: url,
type: "POST",
crossDomain: true,
contentType: "application/json",
data: JSON.stringify(data),
success: callback
});
};
$.postJSON(
"https://test.com",
data,
function(data, status, xhr) {
alert("Success");
}
);
编辑:工作代码:
jQuery["postJSON"] = function(url, data, callback) {
if (jQuery.isFunction(data)) {
callback = data;
data = undefined;
}
return jQuery.ajax({
url: url,
type: "POST",
crossDomain: true,
contentType: "application/json",
data: JSON.stringify(data),
success: callback,
error: function(xhr, ajaxOptions, thrownError){
alert(thrownError);
});
};
$.postJSON(
"https://test.com",
data,
function(data, status, xhr) {
alert("Success");
}
);
最佳答案
将此行添加到您的 return jQuery.ajax({})
函数中:
error: function(xhr, ajaxOptions, thrownError){
window.alert(thrownError);
}
希望对你有帮助~
关于javascript - Jquery/JSON 处理 XHR 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53511563/