2016-09-16 7 views
0

私は多分ここで何か巨大なものがありませんが、本当に理解できない理由で私のAjaxレスポンスをリダイレクトできないようです。ここで Ajaxのポストレスポンスでリダイレクト

はコードです:私はアヤックスのポストでも正常に動作しない preventDefault()は、彼がフォームを送信脱いが、応答が非常に完了していない場合は...どうやら

(function($){ 
    function processForm(e){ 
     $.ajax({ 
      url: 'z1.php', 
      dataType: 'html', 
      type: 'post', 
      contentType: 'application/x-www-form-urlencoded', 
      data: $("#purchases").serialize(), 
      processData: false, 
      success: function(data){ 
      if(data == "success") { 
       window.location.href = 'zzz.php'; 
      } 

      if(data == "error") { 
       window.location.href = 'xxx.php'; 
      } 
     } 
     }); 

     e.preventDefault(); 
    } 

     $('#purchases').submit(processForm); 
    })(jQuery); 

私は自分のフォームを処理し、ajax投稿を使用し、返信内容がメッセージのある特定のURLにリダイレクトされることに依存します。

+0

ajaxを呼び出す前にフォームの提出を防ぐ –

+0

コードで詳しいことを教えてください。 –

答えて

0

私はエラー文が

if(data == "success") {window.location.href = 'zzz.php';}かもしれないと思います。データが成功しているかどうかを直接参照しています。あなたが参照する必要があるいくつかの他のプロパティに成功する必要があります。あなたはどのようにdataが来ているのですか?それはJSON構造ですか?

0

は中paremeterとして()メソッドを提出し、機能

(function($){ 
$('#purchases').submit(function(e){ 
    e.preventDefault(); 
     $.ajax({ 
      url: 'z1.php', 
      type: 'post', 
      data: $("#purchases").serialize(), 
      success: function(data){ 
      if(data == "success") { 
       alert("success"); 
       document.location.href = 'zzz.php'; 
      } 

      if(data == "error") { 
       alert("Error"); 
       document.location.href = 'xxx.php'; 
      } 
     } 
     }); 
    return false; 
}); 
})(jQuery); 

の最後にfalseを返す使用したコードを書くようにしてください。また、サーバの応答だけで「成功」または「エラー」のテキストを確認してください。

+0

それは私に文字列 "成功"を返すだけで、それはAJAXを処理した後に私をリダイレクトしません。 –

+0

コンソールログを確認してください。 –

+0

console.logは私に文字列 "success"を返します –

0

$(ドキュメント).ready(関数(){

$("#purchases").submit(function (e) { 
    e.preventDefault(); 
    $.ajax({ 
     url: 'z1.php', 
     dataType: 'html', 
     type: 'post', 
     contentType: 'application/x-www-form-urlencoded', 
     data: $("#purchases").serialize(), 
     processData: false, 
     success: function(data){ 
     if(data == "success") { 
      window.location.href = 'zzz.php'; 
     } 

     if(data == "error") { 
      window.location.href = 'xxx.php'; 
     } 
    } 
    }); 

}); 

})。

このコードを試してください。

+0

"z1.php"ファイルにあるコードを共有できますか? – user6838959

+0

これはWebサービスのSoapCallであり、このPHPのレスポンスはXML文字列です。次に、次のテストを行います: 'if(strpos($ reply、 'APPROVED')!== false){echo 'success'; } ' –

関連する問題