Ich versuche fetch
Funktion zu verwenden, um Daten vom Server in einem Client-Seite Javascript-Code abzurufen. Und ich benutze die Polyfill-Version von fetch namens whatwg-fetch
in einem Chrome (die Fetch intern unterstützt).fetch Antwort ist leer, obwohl die Anfrage erfolgreich war
Hier ist, wie ich die Funktion aufrufen:
//Called in a page loaded as http://localhost:3236/
fetch("http://localhost:8080/list", {
mode: 'no-cors',
credentials: "include",
})
.then(function(response) {
return response.json();
});
Wie Sie meinen Anwendungsserver sehen kann, ist nicht das gleiche wie meine Ressource-Server, damit ich die Optionen für CORS gesetzt hatte. Das Problem ist, dass die response
keinen Inhalt bekommen hat:
{
body: null,
bodyUsed: false,
headers: Headers,
ok: false,
status: 0,
statusText: "",
type: "opaque",
url: "",
}
Es ist in dem Fall, dass, wenn ich drehe Panel zu vernetzen und die Anforderung gesendet zu finden, alles OK Daten mit Status 200 und den gewünschten scheint.
Wie kann ich das Problem finden?
Beachten Sie, dass Chrome leere Antwortdaten anzeigen kann, wenn das erwartete Ergebnis beispielsweise "application/json" lautet, der HTTP-Antworttext jedoch aus irgendeinem Grund nicht analysiert werden kann (z. B. ungültige Formatierung). In solchen Fällen würde ich normalerweise Fiddler öffnen und die rohe Antwort überprüfen. – brendonofficial
Zählt das rohe Antwortfenster von Chrome nicht? Ich kann meine gewünschte Antwort dort sehen. Ich kann es nur in JS nicht erhalten! – Mehran