Próbuję zezwolić javascriptowi na komunikację z serwerem Node.js.Serwer Node.js, który akceptuje żądania POST
żądanie 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);
Teraz kod serwera node.js wygląda następująco. Zanim został użyty do żądania GET. Nie wiem, jak sprawić, by działała z żądaniami 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);
Dzięki z góry za pomoc.
Musiałbym użyć zdarzeń 'data' /' end' z 'request', jak sądzę. To działa dla mnie: http://pastebin.com/6aKv7WHJ. Nie jestem pewien, czy to prawdziwy sposób na zrobienie tego. – pimvdb
Myślę, że może być coś złego w żądaniu POST javascript. Nie odbiera danych na serwerze node.js, gdy próbuję wykonać żądanie. –
Chociaż myślę, że jest to poprawny kod dla pliku węzła. Problem z javascriptem jest teraz –