Próbuję przekierować za pomocą javascript na inną stronę (nie z tego samego źródła), ale kod, który otrzymuje druga strona to przekierowanie 200, próbujemy wykonać przekierowanie 302 za pomocą JavaScript

Używając następującego kodu -

     <script>top.location = "https://example.com";</script>

Jak mogę wykonać przekierowanie 302 przy użyciu JavaScript?

0
Matt komona 20 listopad 2019, 01:50
Co rozumiesz przez „kod pobierany przez inną witrynę”? Wszystko, co strona docelowa przekierowuje, to żądanie.
 – 
Bergi
20 listopad 2019, 01:56
1
Odpowiedź znalazła się tutaj: stackoverflow. com/questions/7658199/…
 – 
hejkerooo
20 listopad 2019, 02:00

3 odpowiedzi

Przekierowanie 302 przy użyciu JavaScript nie powinno być możliwe. To część protokołu HTTP. Po wysłaniu przez klienta żądania do serwera, serwer odpowiada przekierowaniem. Żadna strona nie jest nigdy ładowana przez przeglądarkę.

1
Jan-Ole Hübner 20 listopad 2019, 01:55

Nie będziesz w stanie wykonać prawdziwego 302 z JS na froncie, nie jestem pewien, dlaczego chcesz to zrobić. Jeśli musisz przekierować stronę / sesję, możesz użyć pliku location. assign w następujący sposób:

window.location.assign('https://example.com');

https://developer.mozilla.org/en-US/docs/Web/API/Location/ assign

1
MakingStuffs 20 listopad 2019, 01:59
Metoda OPs polegająca na przypisaniu do .location działa równie dobrze. Ale nie, zdecydowanie nie jest to document.location, tego nie można zmienić.
 – 
Bergi
20 listopad 2019, 01:59
Zmieniłem go na window, chociaż document.location pochodzi z przykładu Mozilli i działał w mojej konsoli z innej domeny, kiedy go wypróbowałem. Pewnie czegoś mi w tej części brakuje.
 – 
MakingStuffs
20 listopad 2019, 02:00

Użyj window.location zamiast top.location:

<script>window.location = "https://example.com";</script>
-1
Brent Washburne 20 listopad 2019, 01:56