2011-05-13 15 views
5

Mam pasek narzędzi, który istnieje na wszystkich moich stronach internetowych, który regularnie wysyła żądania do pliku XML po stronie serwera.Wykrywanie, czy i kiedy są wykonywane wywołania jQuery AJAX

Niektóre strony internetowe wysyłają również żądania do tego samego pliku XML, ale częściej. Idealnie chciałbym, w miarę możliwości, połączyć to z łatwością w jedno żądanie. Gdzie pasek narzędzi używa tego samego żądania, co strona (odświeżania strony jest większa niż na pasku narzędzi)

Czy istnieje sposób, aby powiedzieć, czy jQuery AJAX zostały wywołane do niektórych zasobów, a jeśli więc, czy otrzymasz powiadomienie o sukcesie?

Aktualizacja:

podstawie odpowiedzi Darin Dimitrov za Próbowałem następujące:

$.ajaxSetup({ 
    success: function(){ console.log("woop"); } 
}); 

To nigdy nie odpala, jak sądzę, ponieważ obsługi sukces jest nadpisane kiedy robię moje inne Połączenia AJAX.

Odpowiedz

4

Możesz użyć subskrypcji $.ajaxSetup(), aby subskrybować wspólne wydarzenia.

+0

Hej, dziękuję za odpowiedź, niestety wygląda na to, że działa to tylko dla domyślnych opcji, tj. Jeśli skonfiguruję następujące opcje (zobacz aktualizację oryginalnego Q) – Chris

+0

@Chris, spróbuj subskrybować wywołania zwrotnego 'complete'. –

+0

Jak mogę się dowiedzieć, który URL został wywołany? – Chris

1

Subskrybuj wszystkie wydarzenia ajaxowe na poziomie dokumentu;

$(document).bind("ajaxSend", function(){ 
    alert('ajax fired'); 
}); 
0

w twojej AJAX dodać zwrotna odpowiedź, coś takiego:

$.ajax({ 
    type: "POST", 
    url: "mypage.php", 
    data: "name=John&location=Boston", 
success: function(data){ 
    alert(data); 
    } 
}); 

i na swojej stronie php gdzie można przetwarzać AJAX żądanie dodać trochę echo oświadczenie:

echo "POSTed OK!"; 

Jeśli po to sukces, otrzymasz potwierdzenie alarmu. Można również uzyskać potwierdzenie, czy failes ale nieznacznie modyfikując kod:

success: function(result) { 
    if (result==1) { 
     alert('Success'); 
    } else { 
     alert('Failed'); 
    } 
} 

Powodzenia!

Powiązane problemy