Czym jest międzydomenowe? Cross-domain, gdy przeglądarka nie może uruchamiać skryptów z innych stron internetowych. Jest to spowodowane homologiczną polityką przeglądarki, która jest ograniczeniem bezpieczeństwa nałożonym przez przeglądarkę na Javascrip{filter}t.
Tak zwany homologiczny oznacza, że nazwa domeny, protokół i port są takie same, nie ma znaczenia, jeśli nie rozumiesz, podaj kasztan:
http://www.itsvse.com/index.htmlwywołaćhttp://www.itsvse.com/server.PHP(Nie-międzydomenowe)
http://www.itsvse.com/index.htmlWywołanie http://www.456.com/server.php (inna domena podstawowa: itsvse/456, międzydomenowe)
Logowanie do linku jest widoczne.wywołaćLogowanie do linku jest widoczne.(Różnica poddomeny: abc/def, międzydomenowe)
http://www.itsvse.com:8080/index.html 调用 http://www.itsvse.com:8081/server.php (端口不同:8080/8081,跨域)
http://www.itsvse.com/index.htmlWywoływanie https://www.itsvse.com/server.php (różne protokoły: http/https, międzydomenowe)
Prosimy zauważyć: localhost i 127.0.0.1, choć oba wskazują na lokalne, również działają w różnych domenach.
Gdy przeglądarka uruchamia skrypt javascrip{filter}t, sprawdza, do której strony należy skrypt, a jeśli nie jest to strona homologiczna, nie zostanie wykonana.
Rozwiązanie:
1、JSONP:
Nie będę wchodził w szczegóły dotyczące jego użycia, ale warto zauważyć, że JSONP obsługuje tylko żądania GET, a nie POST.
2. Agent:
Na przykładwww.itsvse.com/index.htmlJeśli musisz www.456.com/server.php wywołać, możesz napisać interfejswww.itsvse.com/server.phpTen interfejs wywołuje www.456.com/server.php na backendzie i otrzymuje wartość zwrotną, a następnie zwraca ją do index.html, co jest wzorcem proxy. Jest to równoważne z omijaniem strony przeglądarki, więc naturalnie nie ma problemu z przekroczeniem domen.
3. Zmodyfikuj nagłówek po stronie PHP (metoda XHR2)
Dodaj następujące dwa zdania do skryptu interfejsu PHP: nagłówek('Access-Control-Allow-Origin:*'); Zezwalaj na dostęp ze wszystkich źródeł nagłówek ('Access-Control-Allow-Method:POST,GET'); Sposoby umożliwienia dostępu
|