Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Ajax request i response 301 od php
Forum PHP.pl > Forum > PHP
gothye
witam
jak odebrać w ajax status 301 od strony serwera ?

kod :

  1. $.ajax({
  2. url: 'serwer/adres/',
  3. statusCode: {
  4. 200 : function(){
  5.  
  6. },301 : function(){
  7. alert('REDIRECT !');
  8. },403 : function(){
  9. alert('NO ACCESS !');
  10. },404 : function(){
  11. alert('PAGE NOT FOUND !');
  12. },500 : function(result, hxr, info){
  13. alert(result.responseText);
  14. }
  15. }
  16. }).done(function(data){
  17. // przy status 200 zaladuj content
  18. })


lecz takie rozwiązanie nie jest w stanie przechwycić status kodu odpowiedzi serwera .

całość działa dobrze jak użytkownik jest zalogowany .
lecz po wygaśnięciu sesji w php i wykonaniu przekierowania na stronę logowania , nie mogę tego wykonać od strony jquery na czym mi bardzo zależy .
thek
W sumie 301 i 302 nie odbierzesz. Specyfikacja xmlhttprequest sprawia, że obsługuje on ten status code transprentnie, dopóki nie łamie same origin policy. Były swego czasu pomysły, by dać to jako opcję dla devów, ale póki co - cicho sza.

Żeby nie być gołosłownym - wyciąg z w3.org dotyczący XMLHttpRequest -> https://dvcs.w3.org/hg/xhr/raw-file/tip/Ove...nd%28%29-method
gothye
czyli pozostaje rozwiązanie którego chciałem uniknąć czyli przesyłanie json tablicy :

  1. (
  2. 'data' => 'jakis html który chce przesłać' ,
  3. 'auth' => TRUE lub FALSE w zależności od statusu zalogowania użytkownika
  4. )
Sephirus
Jak najbardziej. Możesz też ustawiać jakiś swój własny nagłówek typu:

Kod
X-LOGIN-STATUS: DENIED


itp.

W PHP ustawić nagłówek nie problem (header()) a w jQuery AJAX też nie problem takowy wyciągnąć wink.gif
gothye
Dzięki za pomoc biggrin.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.