Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Ajax request i response 301 od php
gothye
post
Post #1





Grupa: Zarejestrowani
Postów: 702
Pomógł: 65
Dołączył: 16.03.2009

Ostrzeżenie: (0%)
-----


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 .
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
thek
post
Post #2





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




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
Go to the top of the page
+Quote Post
gothye
post
Post #3





Grupa: Zarejestrowani
Postów: 702
Pomógł: 65
Dołączył: 16.03.2009

Ostrzeżenie: (0%)
-----


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. )
Go to the top of the page
+Quote Post
Sephirus
post
Post #4





Grupa: Zarejestrowani
Postów: 1 527
Pomógł: 438
Dołączył: 28.06.2011
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


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ąć (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post
gothye
post
Post #5





Grupa: Zarejestrowani
Postów: 702
Pomógł: 65
Dołączył: 16.03.2009

Ostrzeżenie: (0%)
-----


Dzięki za pomoc (IMG:style_emoticons/default/biggrin.gif)

Ten post edytował gothye 9.05.2013, 09:08:04
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 20:33