0

私は一種のオートコンプリート検索オプションに取り組んでおりjquery's abort function、前の呼び出しを中止し、以下のすべてで新しい呼び出しを開始させる必要があるため、これを使用しましkeypressたコードです

if(ajaxCall) ajaxCall.abort();
ajaxCall = $.ajax({
    url: '<?php echo base_url(); ?>welcome/' + target,
    beforeSend: function() {},
    complete: function() {},
    data: data,
    type: 'post',
    success: function(result) {
        ....
    }
});

正常に動作していますが、firebugコンソールで多くの中止された呼び出しを確認できるため、このメソッドを使用しても問題がないかどうかについて心配していますか?中止された呼び出しは、文字通りサーバーから中止されるのではなく、ブラウザーからのみ中止されると思います。

このアプローチに代わるものは他にありますか、それともこれを使用しても問題ありませんか?

4

1 に答える 1

0

を呼び出すと、HTTP 接続は終了しますabort()。これにより PHP スクリプトが停止するかどうか (CodeIgniter を使用しているように見えます) は、サーバーの設定によって異なりますが、デフォルトは [はい] です。

ただし、サーバーがリクエストを完了するかどうかに関係なく、その結果がクライアントに送信されることはないため、結果が表示されることはありません。

ただし、すべてのリクエストを中止する理由をお尋ねします。オートコンプリートをコーディングしていた場合、リクエストを送信する前に非アクティブな期間 (ユーザーが入力を停止するなど) を検出するかリクエストが完了して表示されるようにします。一部の結果 (たとえ 1 文字古いものであっても) は、結果がないよりはましですよね?

于 2012-07-10T10:05:06.150 に答える