jQuery .post如何添加失败

时间:2015-10-27 15:39:37

标签: php jquery ajax drupal

我有以下脚本,它可以工作,但我想在出现问题时添加警报。它是drupal模块的一部分。

我的短篇PHP:

ajax_function() {
    //Below is just for the failure part. I want to display the message
    drupal_json(array('status' => 'failure', 'message' => 'You cannot submit this.'));
}

JS:

button.click(function(e) {
    e.preventDefault();
    var path = 'to/ajax/function';
    $.post(path, function(data) {
        //submits on success
        $('#webform').submit();
    });
});

2 个答案:

答案 0 :(得分:1)

您可以使用:.done表示成功,.fail表示错误,.always已完成

var yourPost = $.post(path, function(data) {
    //submits on success
    $('#webform').submit();
}) 
.done(function() {
    alert( "second success" );
})
.fail(function() {
    alert( "error" );
})
.always(function() {
    alert( "finished" );
});

请参阅:http://api.jquery.com/jquery.post/

<强>更新

您可以获得数组的值。像这样。

button.click(function(e) {
    e.preventDefault();
    var path = 'to/ajax/function';
    $.post(path, function(data) {
        //submits on success
        if(data.status == "failure")
            //your can get "data.message" contain your message
        else
            $('#webform').submit();
    });
});

答案 1 :(得分:0)

只需使用这种方式:

var path = 'to/ajax/function';
$.post(path).then(function(){

    //success code goes here

}, function(){

    //failure core goes here

});