2017-01-18 10 views
0

フォームで2つのAJAX呼び出しを行っています。最初は、PHPページを呼び出してデータを処理する最初の選択に基づいて2番目の選択を変更することです。 2番目はデフォルトの投稿を防止し、別のPHPページにデータを投稿することです。AJAXを使用してpreventDefaultで別のajaxを使用しているときに関数を呼び出す

もう1つを削除すると、両方の機能が動作しています。私はまた、新しいページへのリダイレクト(CleanURLを使用して)という別の問題を抱えています。投稿ページでリダイレクトする必要がありますか、またはフォームページに戻ったらどこですか?あなたはtestform

<form id="testform">...

にIDが欠落している

$('#brand').change(function() { 
 
    var brandID2 = $(this).val(); 
 
    $.ajax({ 
 
    url: "Calling the models after selecting the brand", 
 
    method: "POST", 
 
    data: { 
 
     brandID: brandID2 
 
    }, 
 
    dataType: "text", 
 
    success: function(data) { 
 
     $('#model').html(data); 
 
    } 
 
    }); 
 
}); 
 

 
$("#testform").on('submit', (function(e) { 
 
    e.preventDefault(); 
 
    $.ajax({ 
 
    url: "Calling the post page", 
 
    type: "POST", 
 
    data: new FormData(this), 
 
    contentType: false, 
 
    cache: false, 
 
    processData: false, 
 
    success: function(data) { 
 
     //window.location.href = "<?php echo $_SESSION['toRedirectToAfterFilters']; ?>"; 
 
    } 
 
    }); 
 
}));
<form name="testform" action="" method="POST"> 
 
    <select name="brand" id="brand"> 
 
    <option value=''>Select a Brand</option> 
 
    //function to load all the brands 
 
    </select> 
 
    <select name="model" id="model"> 
 
    <option value="">Please Select Brand First</option> 
 
    </select> 
 
    <button type="submit" name="submit" class="">FILTER</button> 
 
</form>

+1

「もう1つを削除すると、両方の機能が動作しています。」 –

+0

最初のものを削除して2番目のものを削除すると、最初のものが削除されます – Da3kariS

答えて

0

私はCleanURLの依存関係を削除し、一度にそれぞれのAJAXリクエスト1を試してみるだろう。それから、すぐに失敗のポイントが表示されます。そうでない場合は、debugger;を各イベントハンドラ内にスローし、ステップスルーします。

個人的には、ロジックを簡略化し、$_SESSION配列内に成功コールバックURLを格納する必要がないように、データベース書込みが成功した後にサーバーからリダイレクトします。

+0

id = "testform"を追加しようとしましたが、それでも動かない。私はそれらのうちの1つだけを使用すると機能は正常に動作していますが、両方が一緒に機能していません。 私は、紛争や問題を回避するためのデフォルトの問題だと思います。 クリーンURLの場合、私はまだ学習しており、htaccessを使用してindex.phpにリクエストを送信しています。そのため、情報を投稿するページからリダイレクトするのが最善の方法です。 htaccessの 'RewriteRule ^(。*)$ index.php?url = $ 1 [QSA、L]' – Da3kariS

関連する問題