Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery:根据$.post()的返回做不同的事情_Jquery - Fatal编程技术网

Jquery:根据$.post()的返回做不同的事情

Jquery:根据$.post()的返回做不同的事情,jquery,Jquery,我有以下代码来添加用户: $.post('ajax/aj_adduser.php', $("form#adduserform").serialize(), function(result) { disablePopup(); $('#addsuccess').delay(200).fadeToggle('slow').delay(2000).fadeToggle('slow'); $('div.mainadmin').html(result);

我有以下代码来添加用户:

$.post('ajax/aj_adduser.php', $("form#adduserform").serialize(), function(result) {
disablePopup();             $('#addsuccess').delay(200).fadeToggle('slow').delay(2000).fadeToggle('slow');  
$('div.mainadmin').html(result);            
});
它几乎可以正常工作:- 问题是,线路:

$('#addsuccess').delay(200).fadeToggle('slow').delay(2000).fadeToggle('slow');  
应仅在添加用户时执行,因此在结果集包含该用户已存在的消息时不应执行

我该如何解决这个问题?我第一次尝试在帖子成功与否时执行,但它总是成功,这只是结果,结果集不同


感谢大家的帮助

JQuery的AJAX函数将AJAX调用中的数据返回到您试图调用该行的函数。您可以访问从函数的结果中获得的结果集


这意味着您可以检查返回的数据,并有条件地对其执行操作。

您应该确保ajax/aj_adduser.php中的php文件返回一个状态参数

大概是这样的:

if ($useradded){
   $rt->status = "useradded";
   $rt->result = $result;
}else{
   $rt->status = "failed";
}
echo json_encode($rt);
您可以将$.post调用更改为$.getJSON,并按如下方式检查结果:

$.getJSON('ajax/aj_adduser.php', $("form#adduserform").serialize(), function(result) {
    if (result.status = "useradded"){
        // do something
        $('div.mainadmin').html(result.result); 
    }else{
       // don't do anything
    }
}

作为对您请求的响应,您返回了哪些信息?您是否尝试过在回调中检查结果,并在if语句中使用这些信息?喜欢这种修复方法,尽管对于这个特定的项目,我选择了另一个答案,我会将此答案保留在我的列表中!非常感谢。谢谢,我使用这个方法来检查结果中的特定字符串,并将其修复!
$.post('ajax/aj_adduser.php', $("form#adduserform").serialize(), function(result) {
    disablePopup();   
    if(result.YourMessage == ...){
        $('#addsuccess').delay(200).fadeToggle('slow').delay(2000).fadeToggle('slow');     
    }  
    else{ ... }        
    $('div.mainadmin').html(result);            
});