我正在使用 jQuery 发出 AJAX 请求。我想执行不同的操作,无论 HTTP 状态代码是 400 错误还是 500 错误。我怎样才能实现这个目标?
$.ajax({
type: 'POST',
url: '/controller/action',
data: $form.serialize(),
success: function(data){
alert('horray! 200 status code!');
},
error: function(data){
//get the status code
if (code == 400) {
alert('400 status code! user error');
}
if (code == 500) {
alert('500 status code! server error');
}
},
});
Update:
@GeorgeCummins 提到与响应主体合作“似乎很奇怪”。这是我第一次尝试做这种事情。我的方法不是最佳实践吗?你会推荐什么?我为此创建了另一个 StackOverflow 问题:当出现用户/表单验证错误时,我应该向 AJAX 请求发送什么响应/状态代码? https://stackoverflow.com/q/6701376/48523
如果您使用的是 jQuery 1.5,那么statusCode
将工作。
如果您使用的是 jQuery 1.4,请尝试以下操作:
error: function(jqXHR, textStatus, errorThrown) {
alert(jqXHR.status);
alert(textStatus);
alert(errorThrown);
}
您应该看到第一个警报的状态代码。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)