jQuery:如果php函数退出,那就做点什么吧

时间:2015-08-09 16:26:26

标签: jquery ajax wordpress

我有一个通过以下jQuery触发PHP函数的表单:

jQuery('#subnewtideform').submit(ajaxSubmit_subnewtideform);

function ajaxSubmit_subnewtideform(){

    var subnewtideform = jQuery(this).serialize();

    jQuery.ajax({
        type:"POST",
        url: SiteParameters.site_url+"/wp-admin/admin-ajax.php",
        data: subnewtideform,
        context: this,
        success:function(data){
            // it's successful, do stuff
        }
    });

    return false;
}

工作正常。问题是如果php函数exit;return;我想做其他事情。

例如:

success:function(data){
    // it's successful, do stuff
} else {
    // the function returned, so do something else
}

当ajax调用失败时,将触发上面的else语句...而不是当php函数有exit/return时。

如何让jQuery代码理解我的php函数有exit

2 个答案:

答案 0 :(得分:1)

jQuery ajax函数对于这个确切的场景有一个error回调函数:

jQuery.ajax({
    type:"POST",
    url: SiteParameters.site_url+"/wp-admin/admin-ajax.php",
    data: subnewtideform,
    context: this,
    success:function(data){
        // it's successful, do stuff
    },
    error: function(xhr, status, err){
       // Ajax failed/error
    }
});

请参阅the docs for ajax以查看已弃用的内容,并查看可用的其他功能(已完成,失败,始​​终)。

答案 1 :(得分:0)

jquery ajax函数的成功部分与请求状态有关。正如文件中所述

  

请求成功时要调用的函数。

你可以在你的php上做的是返回一个值,你可以检查你的成功函数。例如,您可以返回一个类似{"exit":true}的json对象。