Chciałbym wiedzieć, jak używać XMLHttpRequest w celu załadowania zawartości zdalnego adresu URL i przechowywania kodu HTML witryny, do której uzyskano dostęp, w zmiennej JS.
Powiedz, jeśli chciałbym załadować i zaalarmować () kod HTML http://foo.com/bar.php , jak mam to zrobić?
javascript
xmlhttprequest
Rohan
źródło
źródło
Odpowiedzi:
Można ją uzyskać przez
XMLHttpRequest.responseText
wXMLHttpRequest.onreadystatechange
podczasXMLHttpRequest.readyState
równaXMLHttpRequest.DONE
.Oto przykład (niezgodny z IE6 / 7).
Dla lepszej kompatybilności crossbrowser, nie tylko z IE6 / 7, ale także w celu uwzględnienia niektórych wycieków lub błędów pamięci specyficznych dla przeglądarki, a także dla mniejszej szczegółowości przy uruchamianiu żądań ajaxical, możesz użyć jQuery .
Pamiętaj, że musisz wziąć pod uwagę tę samą zasadę pochodzenia dla JavaScript, gdy nie jest uruchomiony na localhost. Możesz rozważyć utworzenie skryptu proxy w swojej domenie.
źródło
Proponuję zajrzeć do
fetch
. Jest to odpowiednik ES5 i wykorzystuje obietnice. Jest o wiele bardziej czytelny i łatwy do dostosowania.W Node.js musisz zaimportować,
fetch
używając:Jeśli chcesz używać go synchronicznie (nie działa w najwyższym zakresie):
Więcej informacji:
Dokumentacja Mozilli
Czy mogę korzystać (94% października 2019 r.)
Samouczek Matta Walsha
źródło
Prostym sposobem korzystania
XMLHttpRequest
zpure JavaScript
. Możesz ustawić,custom header
ale jest opcjonalny używany w zależności od wymagań.1. Przy użyciu metody POST:
Możesz wysyłać parametry za pomocą metody POST.
2. Przy użyciu metody GET:
Uruchom poniższy przykład, a otrzymasz odpowiedź JSON .
źródło
W
XMLHttpRequest
użyciuXMLHttpRequest.responseText
może pojawić się wyjątek, taki jak poniżejNajlepszy sposób na uzyskanie dostępu do odpowiedzi z XHR w następujący sposób
źródło