0

各呼び出しを順番に実行する、複数の ajax 呼び出しに関する簡単な質問があります。現在のページのフォーム (フォームの値をセッションに書き込む) を投稿するボタンがあり、これらのセッション変数が設定された後に別のページ (GET) を呼び出したいと考えています。

問題は、関数で両方の呼び出しを実行し、最初の投稿が間に合わない場合、必要な他のスクリプトにセッション値が存在しないことです。

これが私のボタンの機能です:

function generateFP() {
    $.post("test.php", $("#webcto_form").serialize());
    loadPage('getpage.php?page=fpreq','page_contents');
}

そして私のloadPage関数:

function loadPage(filename,id){
    $("#page_contents").load(filename);
}

ショートハンド ajax ($.post/.load) を成功と組み合わせて使用​​することは可能ですか? フォームを正常に送信した後、loadPage 関数を呼び出すように generateFP を変更したいと考えています。

成功関数を作成する方法を説明している標準の $.ajax ドキュメントを見てきましたが、私が使用している構文を使用した情報はまだ見つかりませんでした。

4

2 に答える 2

4

jQuery Post メソッドでは、成功ハンドラー ( http://api.jquery.com/jQuery.post/ )を使用できます。

function generateFP() {
    $.post("test.php", $("#webcto_form").serialize(), function(){
        loadPage('getpage.php?page=fpreq','page_contents');
    });
}

別の方法として、test.php スクリプトを変更して、2 番目のリクエストから必要な情報を返すこともできます。

function generateFP() {
    $.post("test.php", $("#webcto_form").serialize(), function(data){
        console.log(data);
    });
}

datatest.php スクリプトの出力はどこにありますか。

于 2012-10-19T17:37:08.333 に答える
2

これはうまくいくはずです。成功イベント ハンドラー関数で loadPage 関数を呼び出します。

function generateFP() {
    $.post("test.php", $("#webcto_form").serialize(), function(data){
       //this is the success callback function
       //data parameter holds the response returned from the post if you need it.
       loadPage('getpage.php?page=fpreq','page_contents');
    });  
}
于 2012-10-19T17:37:56.303 に答える