2

jQuery.ajax 呼び出しを試みます。

jQuery("#search_form").live("submit", function() {
    search_nr = jQuery("#search_input").val();
    jQuery.ajax({
        url: '/modules/mod_findarticle/process.php',
        data: "search_nr="+search_nr,
        async: true,
        'success':  function(data) {
                        alert(data);
                    },
        'error': function(jqXHR, textStatus, errorThrown) {
                  alert(jqXHR.status+",  " + jqXHR.statusText+",  "+textStatus+",  "+errorThrown);
        }
    });
});

その見返りに、私は常に「0、エラー、エラー」メッセージのアラートを受け取ります。async=falseですべて問題ありません。非同期呼び出しでは、実際のデータが受信される前にスクリプトが作業を終了することは知っていますが、これを回避するにはどうすればよいですか?

4

1 に答える 1

3

ユーザーmccannfのおかげで問題が解決しました: フォームで 'submit' イベントをトリガーしてデータが 2 回送信されたため、スクリプトは常に 2 回目の呼び出しの前にデータの処理を停止していました。で置き換えるfunction()と、デフォルトの送信アクション.live(...)function(e) {e.preventDefault; ... }無効になるため、トリックが実行されます!

于 2012-10-30T18:26:30.740 に答える