1

ユーザーを追加するための次のコードがあります。

$.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');  

ユーザーが追加された場合にのみ実行する必要があります。したがって、結果セットにこのユーザーがすでに存在するというメッセージが含まれている場合は実行しないでください。

これを修正するにはどうすればよいですか?私は最初にPOSTが成功したかどうかにかかわらず実行しようとしましたが、常に成功します。それは単なる結果であり、異なる結果セットです。

すべての助けに感謝します!

4

3 に答える 3

0

JQueryのAJAX関数は、AJAX呼び出しからその行を呼び出そうとする関数にデータを返します。関数で取得した結果セットにアクセスできますresult

これは、返されたデータを確認し、それを使用して条件付きで処理できることを意味します。

于 2012-07-18T08:12:13.960 に答える
0

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
    }
}
于 2012-07-18T08:15:09.023 に答える
0
$.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);            
});
于 2012-07-18T08:15:10.277 に答える