0

次のネストされた ajax 呼び出しを検討してください。

$.ajax({
     type: "POST",
     dataType: "json",
     data: dataString,
     url: "includes/check.php", 
     success:function(result){

          if(result['response']==false){

               $.ajax({
               type: "POST",
               dataType: "json",
               data: dataString,
               url: "includes/add.php", 
               success:function(){
                    alert('Success');
               });

          } else {
               alert('A problem has occurred!');
          }

     }
});

両方のphpスクリプトが正常に呼び出され、意図したとおりに実行されますが、ネストされたajax呼び出しの成功アクションを表示できません。

何か案は?

4

1 に答える 1

0

をに設定するdataTypejson、jQueryは、応答が有効なJSONであり、解析できる場合にのみ成功イベントを発生させます。有効なJSON以外のものを送信した場合、jQueryは成功イベントを発生させません。あなたが出力していると言ったコメントから、1これは有効なJSONではありません。

add.php代わりに、JSONを(で)出力できます。

echo json_encode(array('success' => true));

出力

{"成功":true}

または、json dataType設定を削除して、次のようにします。

           success:function(response){
                if(response == "1")
                {
                    alert('Success');
                }
                else
                {
                    alert("Fail");
                }
           });

補足:FirebugまたはChrome Dev Toolsを使用して、ajaxの応答を確認してください(自分宛てにメールで送信するのではありません)。

于 2013-02-20T15:02:43.943 に答える