2012-05-26 8 views
6

Po utworzeniu XmlHttpRequest (przez $ .ajax jQuery) do określonego adresu URL, mój Chrome konsekwentnie zawiesza się za każdym razem ze statusem na żądanie "Oczekujące".Chrome XmlHttpRequest Wiszący

Po tym Chrome musi być zamknięty, tj. przymusowo z Task Managera i wykazuje ogólne oznaki chaosu, takie jak puste karty Cookies i Skrypty, gdy były pełne normalnie wyglądających danych bezpośrednio przed.

To dziwne, ponieważ (a) moi współpracownicy, działając na pozór identyczne wszystko, nie mają takich problemów; (b) Używam Chrome do uruchamiania tego kodu (aplikacja JavaScript w naszej firmie) przez wiele miesięcy i zaczęło się to bez wyraźnego powodu.

Sprawdziłem dzienniki Apache, wygląda na to, że przetwarzają one żądanie normalnie i do zakończenia, ale Chrome najwyraźniej nie widzi odpowiedzi.

Kilka innych uściśleń: przed awarią, ten sam Chrome i serwer Apache zwracają zwykle normalnie ładunek plików JS i plików graficznych, np. Wszystko wygląda dobrze, dopóki nie jest. Żądanie nie jest szczególnie duże (kilkaset bajtów na wejściu i wyjściu) lub złożone w oczywisty sposób.

Jeśli ktoś może dać mi wskazówki, gdzie szukać, byłbym wdzięczny!

+0

Kilka innych objaśnień: przed awarią ten sam Chrome i serwer Apache zwracają zwykle normalnie ładunek plików JS i plików graficznych, np. Wszystko wydaje się być w porządku, dopóki nie jest. Żądanie nie jest szczególnie duże (kilkaset bajtów na wejściu i wyjściu) lub złożone w oczywisty sposób. – GregT

+0

Dziękuję jmort253, to miłe, że piszesz to wszystko. – GregT

+0

Czy jest to w jakiś sposób związane z twoim pytaniem? http://stackoverflow.com/questions/11296036/chrome-not-handling-jquery-ajax-query –

Odpowiedz

9

Mam podobne zachowanie z nieznacznie różnymi objawami. Moje żądania ajax działają dobrze, co drugie żądanie aż do 6 żądań, potem wszystkie zaczynają się zawieść (ten sam URL jak podczas pracy, ta sama ładunek, itp.), Ale w moim przypadku nie trafiają nawet na serwer, tylko utknęły w "Oczekujące" "w Inspektorze.

Nie mam dla ciebie odpowiedzi, ale aby pomóc w debugowaniu, czy wypróbowałeś chrom-internals?

Punkt przeglądarkę pod adresem:

chrome://net-internals/#sockets 

i/lub

chrome://net-internals/#events 

widzę moje prośby w #sockets iść na "aktywny", ale nigdy nie wróci, a #Events mogę zobacz, że żądanie zatrzymuje się po etapie HOST_RESOLVER_IMPL_REQUEST.

Myślę, że może to być problem związany z zasobami spowodowany niewłaściwym zakończeniem wniosku, ale to tylko czysta spekulacja.

+0

Dobrze, dziękuję bardzo, spróbuję. W ogóle o tym nie wiedziałem. Nawiasem mówiąc, widzę kilka podobnych, bardzo podobnych zapytań na forach pomocy technicznej Chrome, w większości bez odpowiedzi. – GregT

+0

Bez problemu. Dla mnie przyczyną była "niesłuszna rezygnacja z żądania", a sieć wewnętrzna okazała się idealna do mojego debugowania. –

+4

Kiedy wszedłem do chrome: // net-internals/# events i przeszedłem do adresu URL, który powodował problemy, zobaczyłem ten błąd: 'net_error = -20 (ERR_BLOCKED_BY_CLIENT)'. Okazuje się, że to problem spowodował Adblock Plus. Teraz obawiam się, że może się to zdarzyć moim użytkownikom końcowym, jeśli mają zainstalowany Adblock Plus. – sffc

Powiązane problemy