我正在尝试为我的应用创建一个表单调试器,并使用jquery.form.js提交表单。
但是我想在成功或错误上捕获状态代码,我该怎么做?
我试过这个,但是sta变量只返回成功'或者'错误',而不是我预期的状态代码,plz help。
$('form').ajaxSubmit({
success: function(res, sta, xhr, $form) {
$('#result-code').html(sta);
$('#result-content').html(res);
},
error: function(res, sta, xhr, $form) {
$('#result-code').html(sta);
$('#result-content').html(res);
}
});
正如@Rainer Rillke回答:解决方案如下,注意接收到的错误参数序列与成功的参数序列不同!
$('form').ajaxSubmit({
success: function(res, sta, xhr, $form) {
$('#result-code').html(xhr.status);
$('#result-content').html(res);
},
error: function(xhr) {
$('#result-code').html(xhr.status);
$('#result-content').html(xhr.responseText);
}
});
答案 0 :(得分:2)
使用jqXHR的xhr.status
属性。
$('form').ajaxSubmit({
success: function(res, sta, xhr, $form) {
$('#result-code').text(xhr.status);
$('#result-content').html(res);
},
error: function(xhr) {
$('#result-code').text(xhr.status);
}
});
答案 1 :(得分:0)
我不确定它是否是您尝试捕获的某种自定义错误,但如果您只是想尝试返回来自网络的错误页面,试一下/ catch:
try {
//do something here
}
catch (e) { //e = exception
alert(e.toString());
}