我有一个通过以下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
?
答案 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对象。