我正在尝试允许javascript与Node.js服务器通信。
POST请求(Web浏览器)
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请求一起工作。
服务器(节点. 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);
2条答案
按热度按时间0lvr5msh1#
下面的代码展示了如何从HTML表单中读取值。正如@pimvdb所说,您需要使用request.on('data'...)来捕获表单主体的内容。
如果您使用类似Express.js和Bodyparser的代码,那么它将如下所示,因为Express将处理请求。body concatenation
4xrmg8kj2#
在nodejs中接收POST和GET请求:
1).服务器
2).委托单位: