2016-06-04 7 views
1

Ein Meteor-Server-Code, HTTP-Paket mit Atmosphäre, machen einen POST http Aufruf zu einem Remote-Server, kommt die response.statusCode 302 zurück und die Antwort-Header enthält:Meteor HTTP leere Körper mit Content-Length 0 und Antwort 302

Content-Length: 0
Centent-Type: text/html
Ort: otherURLThanVisitedIn_myURL Schlüsselwert =

der Response-Header ist das gleiche auch in dem Panel firefox Inspektoren beim Besuch auf der gleichen Seite.

Wie kommt es, dass die Seite geladen wird und ich den Inhalt im Browser sehen kann, aber wenn ich console.log(response.content.length) bekomme ich 0, d. H. Kein String-Inhalt erhalten? Danke

let myURL = getURL(); 
let myHeaders = getHeadersObj(); 
let myParams = getParamsObj(); 
const response = HTTP.call('POST', myURL, { 
    timeout: 30000, 
    headers: myHeaders, 
    params: myParams 
}); 
+0

Ihr Browser weiß, wie HTTP zu handhaben 302 und die Server-Code nicht? Nur eine Vermutung. –

Antwort

0

Der Statuscode 302 bedeutet, dass es eine Umleitung gibt. Anscheinend folgt das Meteor-Paket nicht automatisch der Umleitung.

Die erste Sache zu überprüfen ist, dass Sie eine aktuelle Version des Pakets haben. Es gab an issue about redirects for POST request.

Wenn es in Ordnung ist, können Sie die followRedirect Parameter in den Optionen zur Verfügung:

const response = HTTP.call('POST', myURL, { 
    timeout: 30000, 
    headers: myHeaders, 
    params: myParams, 
    followRedirect: true 
}); 
+0

Die Paketversion 1.1.5 "neueste", die zusätzliche "followRedirect" wurde hinzugefügt, wie es ohne Erfolg vorgeschlagen wurde. Ich bekomme immer noch den leeren "response.content" zurück, wie er ursprünglich gepostet wurde. –

+0

es ist nicht 'folgeRedirect', sondern' followRedirects' gefunden nach so viel Schmerz. Thx –

+0

Oh sorry der Typ verursachte Probleme. Bearbeitet, um anderen Zeit zu sparen. – Julien

Verwandte Themen