Sto tentando di consentire a javascript di comunicare con un server Node.js.Server Node.js che accetta richieste POST
richiesta POST (Javascript)
var http = new XMLHttpRequest();
var params = "text=stuff";
http.open("POST", "http://someurl.net:8080", true);
http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
http.setRequestHeader("Content-length", params.length);
http.setRequestHeader("Connection", "close");
alert(http.onreadystatechange);
http.onreadystatechange = function() {
if (http.readyState == 4 && http.status == 200) {
alert(http.responseText);
}
}
http.send(params);
In questo momento il codice del server Node.js simile a questo. Prima era usato per le richieste GET. Non sono sicuro di come farlo funzionare con le richieste POST.
Server (Node.js)
var server = http.createServer(function (request, response) {
var queryData = url.parse(request.url, true).query;
if (queryData.text) {
convert('engfemale1', queryData.text, response);
response.writeHead(200, {
'Content-Type': 'audio/mp3',
'Content-Disposition': 'attachment; filename="tts.mp3"'
});
}
else {
response.end('No text to convert.');
}
}).listen(8080);
Grazie in anticipo per il vostro aiuto.
Dovresti usare gli eventi 'data' /' end' di 'richiesta', credo. Questo funziona per me: http://pastebin.com/6aKv7WHJ. Non sono sicuro che sia il vero modo di farlo, comunque. – pimvdb
Penso che ci potrebbe essere qualcosa di sbagliato con la richiesta POST javascript. Non sto ricevendo dati sul server node.js quando provo a fare una richiesta. –
Anche se penso che sia il codice corretto per il file del nodo. Il javascript è il problema –