Ich arbeite derzeit an einer Alexa-Fähigkeit mit AWS Lambda, und alles funktioniert perfekt, bis auf eine Sache. Ich kann nicht scheinen, HTTP-Parameter/benutzerdefinierte Header erfolgreich an meinen Server zu senden. Es kann die Informationen perfekt abrufen, aber ich kann nicht herausfinden, warum es die Parameter/benutzerdefinierten Header nicht sendet.HTTP-POST mit benutzerdefinierten Headern kann nicht an externen Server gesendet werden
Mein Code eine HTTP POST-Anforderung für das Senden wie folgt aussieht: perfekt
function httpGetMall(latitude, longitude, callback) {
var options = {
host: 'myserver.com',
path: '/path/to/script.php',
auth: 'myAuthenticationPassword'.toString('base64'),
method: 'POST',
headers: {'latitude': latitude.toString(), 'longitude': longitude.toString()}
};
var req = http.request(options, (res) => {
var body = '';
res.on('data', (d) => {
body += d;
});
res.on('end', function() {
callback(body);
});
});
req.end();
req.on('error', (e) => {
});
}
ich für eine Tatsache wissen, ist die Funktion korrekt aufgerufen wird, da sie die Daten auf Rückruf zurückgibt.
Auf meinem PHP-Skript, ich bin versucht, die Werte wie so zu greifen:
$latitude = $_POST['latitude'];
$longitude = $_POST['longitude'];
ich manuell haben versucht, innerhalb der Funktion die Breiten- und Längeneinstellung zu sehen, ob sie nicht weitergegeben wurden in immer, aber die Server hat sie immer noch nicht erhalten.
Jede Hilfe würde sehr geschätzt werden. Vielen Dank!
Ist Ihnen klar, dass POST-Daten nicht in Headern gesendet werden? Es wird als kodierte Zeichenfolge im Körper gesendet. Das ist wahrscheinlich, wo Ihr PHP erwartet, es zu finden, aber Sie haben die Daten nicht an der richtigen Stelle beim Erstellen der POST-Anfrage in node.js gelegt. – jfriend00
@ jfriend00 Oh, das habe ich nicht bemerkt. Wie würde ich die Daten als eine codierte Zeichenfolge im Körper senden? Ich bin neu in NodeJS und im Netzwerk, es tut mir leid, wenn meine Terminologie falsch ist. –
Ich habe dir gezeigt, wie man es in einer Antwort macht. – jfriend00