Drukowana wersja tematu

Kliknij tu, aby zobaczyć temat w orginalnym formacie

Forum PHP.pl _ AJAX _ Zwracanie zawartości fetch()

Napisany przez: KR2615 26.11.2021, 11:45:45

Cześć. Sorry za totalnie głupie pytanie ale jestem totalnie zielony jeśli chodzi o Javascript i AJAX.

Zrobiłem prostą stronkę na której w kontenerze manual, po kliknieciu w odnośnik ma się znaleść to, co dostępne jest poda daresem 127.0.0.1/manual

  1. <------><http://december.com/html/4/element/script.html>
  2. <------> function updateManual() {
  3. <------><------>let manualContainer = document.getElementById("manual");
  4. <------><------>fetch("http://127.0.0.1/manual")
  5. <------><------>.then(response => {
  6. <------><------> manualContainer.innerText = `${response}`;
  7. <------><------>});
  8. <------> }
  9. <------></http://december.com/html/4/element/script.html>
  10. <http://december.com/html/4/element/a.html href="#" onClick="updateManual()">manual</http://december.com/html/4/element/a.html>
  11. <http://december.com/html/4/element/pre.html id="manual">
  12. Tutaj ma się wczytać podręcznik
  13. </http://december.com/html/4/element/pre.html>

Bazowałem na tutorialu, gdzie adres URL zwraca wynik w JSON. Ja mam po prostu czysty HTML i chciałbym go zapakować w kontener o nazwie manual. Niestety moje rozwiązanie powoduje, że widzę [object Response] zamiast zawartości 127.0.0.1/manual. Co robię nie tak?

Napisany przez: nospor 26.11.2021, 12:17:38

zajrzyj co zawiera response, a wszystko bedzie jasne....

console.log(response);

Napisany przez: KR2615 26.11.2021, 13:05:21

Kod
Response { type: "basic", url: "http://127.0.0.1/manual", redirected: false, status: 200, ok: true, statusText: "OK", headers: Headers, body: ReadableStream, bodyUsed: false }

Napisany przez: nospor 26.11.2021, 13:09:25

Nadal zdziwiony czemu nie dziala? wink.gif


Tu masz przyklad jak sie dobrac do textu
https://stackoverflow.com/questions/40385133/retrieve-data-from-a-readablestream-object

a konkretnie
fetch('https://jsonplaceholder.typicode.com/posts/1')
.then(function(response) {
return response.text();
}).then(function(data) {
console.log(data); // this will be a string
});

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)