在jquery.form.js中捕获状态代码

时间:2014-06-04 01:06:13

标签: javascript jquery jquery-plugins http-status-codes

我正在尝试为我的应用创建一个表单调试器,并使用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);
    }
});

2 个答案:

答案 0 :(得分:2)

使用jqXHRxhr.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());
}