1

私のページにボタンがあります

<input type="button" onclick="someFunction()" value="submit"/>

ユーザーがボタンをクリックすると、js 関数 someFunction() が実行されます。この関数には、jquery $.ajax メソッドを介してサーバーに送信されるリクエストがあります...

ユーザーがボタンを繰り返しクリックするとどうなるかを知る必要があります。

jqueryはリクエストのキューを維持するか、前のリクエストを中止して新しいリクエストを開始しますか..

jqueryがqueを維持する場合、それらをすべて停止/中止するにはどうすればよいですか。

どんな助けでも非常に高く評価されます。

4

4 に答える 4

1

コードは次のようにする必要があります。

    $(document).ready(function(){
    js_Codes();

    /* The rest of your code that will not reload after ajax request */

});

$(document).ajaxComplete(function(){
    /* Here we call the codes that will reload after your ajax request */
    js_Codes();
});

function js_Codes(){

    function clickOpenDialog(){
        $('.btOpenDialog').off('click',clickOpenDialog);
        fn_open_Dialog_Click($(this).prop('alt'), function(){$('.btOpenDialog').on('click',clickOpenDialog);});
        return false;
    };

    function fn_Open_Dialog_Click(myString){
        var myArray = myString.split(';');
        /* whatever u want with your page with a string param array */

    };

    $('.btOpenDialog').on('click',clickOpenDialog);
}

;)

于 2016-10-10T13:46:18.193 に答える
0
function someFunction() {
    if (this.ajaxPending) return;
    this.ajaxPending = true;
    $.ajax(...).always(function () {
        this.ajaxPending = false;
    });
}
于 2013-09-12T11:55:04.497 に答える
0

Ajax リクエストを変数に格納できます。

var request = $.ajax({
    type: 'POST',
    url: 'someurl',
    success: function(result){}
});

次に、リクエストを中止できます。

request.abort();

ボタンがクリックされた場合request、一度に 1 つの ajax 呼び出しのみが行われるように設定されているかどうかを確認するだけで済みます。

于 2013-09-12T11:53:13.083 に答える