PJAX stwierdza, że Github używa $.pjax.submit()
w submitting a Gist form. Pożądaną cechą przesłania formularza ajaxowego, który Github ładnie implementuje, jest przekierowanie adresu URL z formularza action
do nowo utworzonego adresu URL (w tym przypadku zawierającego nowo utworzony identyfikator mista utworzonego po stronie serwera).Przesyłanie adresu URL pliku pjax w formacie
Na przykład, z tego:
https://gist.github.com/gists // form action
do tego:
https://gist.github.com/tim-peterson/5019589 //assume this ID is generated server side
stałam to działało podobnie na mojej stronie (czyli sama strona przekierowuje do równowartości https://gist.github.com/tim-peterson/5019589), ale nie mogę przekierować adresu URL (pozostaje taki jak https://gist.github.com/gists).
Czy to jest całkowicie problem z serwerem (ustawianie nagłówków?) Lub czy jest coś w pjax, którego mi brakuje? Używam wersji pjaxa, którą dziś ściągnąłem, więc nie może być tak, że używam buggierowej wersji pjax.
dzięki tak właśnie to robię też jako hack rozwiązanie. Pytanie brzmi, czy można to osiągnąć za pomocą 2 żądań AJAX, czy po prostu 1. Oczywiście lepiej byłoby mieć tylko jedno żądanie, w którym 'data.url' został przesunięty na pasek przeglądarki, tak jak treść została przesunięta na'. # główna treść ". Teraz, gdy na to patrzę, Github Gist wydaje się robić to samo, co my, robiąc 2 żądania, mimo że robią PJAX (POST) -> PJAX (GET) i robimy AJAX (POST) -> PJAX (OTRZYMAĆ). Najważniejsze jest to, że bardziej wydajne byłoby wykonanie tylko jednego wniosku (kontynuacja w następnym komentarzu ...). –
Po prostu nie jestem pewien, czy wykonanie tego na 1 żądanie jest możliwe z PJAX lub czy wymaga on hack po stronie serwera, którego nie jestem świadomy (używam PHP/Codeigniter i robię przekierowanie 301/302 z AJAX żądania nie zmieniają adresu URL, być może nie jest to możliwe w żadnym języku/strukturze?). –