5

追加の変数を挿入するために、jquery を介して行われる ajax リクエストを傍受する方法はありますか?

.ajaxStart()を使用すると、ajax リクエストが開始されるたびにイベントをトリガーするコールバックを登録できることはわかっていますが、私が探しているのは、特定の基準 (URL など) を満たす場合にその ajax リクエストをキャンセルする方法です。変数をそのコンテンツに挿入してから送信します。

これは、独自のコードを直接変更できないサードパーティ ソフトウェアのプラグイン用です。

編集: .ajaxSetup()を使用すると、ajaxRequests に関連するいくつかのグローバル変数を設定できるようです。beforeSend 関数を登録した場合、その関数は、特定の条件を満たすと別のリクエストを作成するリクエストをキャンセルできますか?

4

2 に答える 2

9

それを理解した、これは私が使用したコードでした:

jQuery(document).ready(function()
{    
    var func = function(e, data) 
    {       
        //data.data is a string with &seperated values, e.g a=b&c=d&.. . 
        //Append additional variables to it and they'll be submitted with the request:      
        data.data += "&id=3&d=f&z=y";
        return true;
    };
    jQuery.ajaxSetup( {beforeSend: func} );
    jQuery.post('example.php', {a : 'b'}, 'json');    
} );

リクエストをキャンセルするには、からfalseを返すとうまくいくfuncようでした。

于 2012-12-28T01:09:14.807 に答える