17

要求されたURLをから取得できますajaxStartか?いくつかのリクエストを受け入れるすべてのajaxリクエストに対して共通のアクションを実行したいと思います。

4

2 に答える 2

24

いいえ、あなたの中にはオブジェクトにも:ajaxStartにもアクセスできません。jqXHRajaxOptions

// Watch for a new set of requests
if ( s.global && jQuery.active++ === 0 ) {
  jQuery.event.trigger( "ajaxStart" );
}

ご覧のとおり、に渡される引数はありませんajaxStart。これをajaxSend:と比較してください

// Send global event
if ( fireGlobals ) {
  globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] );
}

jqXHRオブジェクトが設定とともに引数として渡される場所:

$(document).ajaxSend(function(evt, request, settings) {
  alert("Starting request at " + settings.url + ".");
});

この設計の理解を深めるには、この回答も参照してください。

于 2012-10-01T00:41:36.537 に答える
11

ajaxstart関数からリクエストされたURLを取得することはできません。特定のリクエストに関するajaxsend関数は、ajaxsend関数ではないため、ajaxsend関数を使用してのみ取得できます。

$( document ).ajaxSend(function( event, jqxhr, settings ) {
  if ( settings.url == "ajax/test.html" ) {
    $( ".log" ).text( "Triggered ajaxSend handler." );
  }
});
于 2015-08-19T09:02:37.847 に答える