我試圖讓javascript與Node.js服務器進行通信。接受POST請求的Node.js服務器
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);
眼下的Node.js服務器的代碼如下所示。它用於GET請求之前。我不知道如何使它與POST請求一起工作。
服務器(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);
在此先感謝您的幫助。
我相信你必須使用'request'的'data' /'end'事件。這適用於我:http://pastebin.com/6aKv7WHJ。不知道這是否是真正的做法。 – pimvdb 2012-08-17 13:20:05
我認爲javascript POST請求可能有問題。當我嘗試發出請求時,它不會在node.js服務器上接收數據。 – 2012-08-17 13:51:56
雖然我認爲這是節點文件的正確代碼。 javascript是問題 – 2012-08-17 14:05:38