3

Jquery-ajax 呼び出しを使用して情報をページに投稿し、返された情報を表示します。私が遭遇する問題は次のとおりです。

ユーザーが最初の ajax 呼び出しを行うと、すべてが正常に見えます。ユーザーがページをリロードせずに同じリクエストを 2 回行うと、post-call が 2 回行われ、get-call も行われます。3 回目は 4post+4get リクエストがあります。4回目 8ポスト/8ゲット。など.. ブラウザ (firefox latest v.) がしばらくフリーズするまで。

私は初心者のプログラマーで、何が原因なのかわかりません。コード内のどこを見ればよいかわかりません。ヒントを教えてください。私の他の ajax リクエストは問題なく、post+get は 1 回だけです。

Firebug ログ: これはfirebugのスクリーンショットです

これは私のコードの一部です:

$(document).ready(function() {
    $('#datepicker').change(function()
    {
        sendDate($('#datepicker').val());               
    });
});

    function sendDate(str)
    {
        $.ajax(
        {
            type: "POST",
            url: "manage_processor.php",
            data: { chosendate: str },
            success: function(data)
            {
                $('#printdiv').html(data);              
            }
        });     
    }

誰かがこの状況に光を当ててくれることを願っています。

4

1 に答える 1

4

推測すると、返されたデータには、JavaScriptファイルを参照するスクリプトタグが含まれていると思われます。これはあなたが見ているGETリクエストを説明するでしょう。リクエストデータが#printdivに入れられるたびに、スクリプトが再度読み込まれ、同じjavascriptハンドラーが同じイベントにバインドされます。これは、リクエストごとに倍増するハンドラーの数を説明します。

クイックテスト:put console.log('スクリプトがロードされました'); manage_functions.jsの上部にあります。私が正しければ、すべてのリクエストの後にログに記録されます。

于 2012-12-02T21:09:09.697 に答える