2013-05-21 4 views
21

Próbuję dowiedzieć się, co się tutaj dzieje. Byłem w tym od wielu godzin i nie mogę się zorientować, dlaczego tak się dzieje.Evil Firefox Error - "Parametr lub operacja nie jest obsługiwana przez obiekt bazowy"

Robię kilka AJAX wzywa, a ja wciąż otrzymuję ten błąd z powrotem tylko w Firefox (wersja 21) w systemie Mac OS X.

Tutaj jest błąd:

"[Exception... "A parameter or an operation is not supported by the underlying object" 
    code: "15" nsresult: "0x8053000f (InvalidAccessError)" location: 
    "https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js Line: 6" 

I Wykonuję połączenie CORS, więc skonfigurowałem AJAX w ten sposób:

$.ajaxSetup({ 
     crossDomain: true, 
     xhrFields: { 
      withCredentials: true 
     } 

    }); 

I dalej dzwonię dalej. Zasadniczo, czy ktoś tam ma JAKIEKOLWIEK doświadczenie z tym błędem? Widzę kilka postów w Internecie, ale wydaje mi się, że wszystkie mają związek z Cross-Domain CSS, którego nie używam.

+0

Testujesz w innych przeglądarkach/systemach operacyjnych? I wszystkie one działają? – Ian

+0

Tak. Wszystkie inne przeglądarki (w tym Firefox w systemie Windows) działają. To doprowadza mnie do szału! – streetlight

+0

Ponadto zawiesza się i ulega awarii w całej przeglądarce (ale myślę, że dzieje się tak dlatego, że dzieje się to wiele razy). – streetlight

Odpowiedz

28

Ok, więc po godzin testów (i wielkiej dyskusji z @Dave i @danronmoon, mam w końcu zorientowali się, co się dzieje.

CORS (Cross-Domain zasobów Sharing) wywołuje Robiłem zostały ustawione na "async: false" - (które zdałem sobie sprawę, że nie uwzględniłem w moim oryginalnym wpisie, ponieważ uważałem, że to nieistotne), to wydaje się działać dobrze we wszystkich przeglądarkach z wyjątkiem Firefoksa, gdzie jQuery szczeka na ciebie i twoje ajax wywołanie zakończy się niepowodzeniem.

Dziękuję wszystkim za pomoc i mam nadzieję, że to pomoże kogoś innego!

+0

Dziękuję bardzo! Ten problem doprowadzał mnie do szału przez ostatnie kilka dni. Mogę teraz przerwać to z mojej listy! –

+0

@EvanM bez problemu! Cieszę się, że pomogło komuś innemu! – streetlight

+0

Dzięki za milion. Walczyłem z tym od jakiegoś czasu. – user320550

1

to jest prawdziwe rozwiązanie Diogo Cardoso, obiekt XHR lub rodzic zdaje się brakować metoda

CORS synchronous requests not working in firefox

+1

Widzę problem, na który zwracasz uwagę w FF, ale nadal pozostaje najlepsza praktyka (i w ramach specyfikacji CORS), aby wszystkie CORS asynchroniczne - wierzę, że to (lub podobne) problemy będą nadal pojawiały się, jeśli programiści nadal będą postępować przeciwko Specyfikacja CORS. Dziękuję za dodanie do rozmowy, btw! – streetlight

0

Tak, to jest problem CORS spowodowane użyciem Ajax toString(). Ale jak użytkownik user320550 pyta, co jeśli potrzebujesz POTRZEBUĆ użyć właściwości "async: false"? Zauważyłem, że użycie właściwości "withCredentials: false" jako rozwiązania zastępczego rozwiązuje problem w firefox i nie ma wpływu na inne przeglądarki.

Powiązane problemy