Dosyć intensywnie w swoich projektach używam wywołań $.get i $.post dostępnych z poziomu jQuery. Niestety IE (w moim przypadku IE7) zawsze wykonuje żądanie do serwera jako POST. To skutkuje tym, że nie możemy mieć przykładowo dwóch metod Update rozróżnionych tylko metodą wywołania. Dziś szukałem przyczyny i rozwiązania tego problemu, ale niestety nie udało mi się znaleźć.
Dlatego postanowiłem napisać własny atrybut, który będzie sprawdzał czy żądanie pochodzi z jQuery oraz czy żądanie powinno być wywołane jako POST czy GET.
W tym celu w ustawieniach każdego wywołania Ajax po stronie jQuery musiałem dodać własny nagłówek, po którym będę rozpoznawał jaką metodą jest wykonywane wywołanie.
1: $().ajaxSend(function(event, request, settings) {
2: request.setRequestHeader("X-Requested-Method", settings.type)
3: });
Podpiąłem się pod zdarzenie ajaxSend, gdzie dodaję nagłówek do każdego żądania, a jako wartość wstawiana jest metoda wywołania. Kiedy wykonamy metodę $.get to wartość nagłówka będzie GET i analogicznie dla metody $.post.
Czytaj więcej...
Ten artykuł jest widoczny także na:
ZINE.NETJeśli spodobał Ci się ten artykuł, to podziel się tą informacją z innymi.
Nikt jeszcze nie skomentował tego artykułu. Bądź pierwszy.