我试图让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