Estoy tratando de permitir que javascript se comunique con un servidor Node.js.Servidor Node.js que acepta solicitudes POST
solicitud 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);
En este momento el código del servidor Node.js se parece a esto. Antes se usaba para solicitudes GET. No estoy seguro de cómo hacerlo funcionar con las solicitudes POST.
servidor (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);
Gracias de antemano por su ayuda.
Tendría que usar los eventos 'data' /' end' de 'request', creo. Esto funciona para mí: http://pastebin.com/6aKv7WHJ. Sin embargo, no estoy seguro de si esa es la forma real de hacerlo. – pimvdb
Creo que puede haber algún problema con la solicitud de javascript POST. No estoy recibiendo datos en el servidor node.js cuando intento hacer una solicitud. –
Aunque creo que ese es el código correcto para el archivo de nodo. El javascript es el problema –