请告诉我如何使用发布请求声明到达服务器(节点js)的变量。现在,我使用此代码并获取以下内容:
name=Test&ip=192.168.0.1
如何声明变量并为其分配值,就像这样:
var name = "Test";
var ip = "192.168.0.1";
我使用的代码:
var http = require("http");
http.createServer(function(request, response){
if (request.method === 'POST') {
let body = '';
request.on('data', chunk => {
body += chunk.toString(); // convert Buffer to string
});
request.on('end', () => {
console.log(body);
});
}
response.end()
}).listen(3000);
答案 0 :(得分:1)
使用URLSearchParams很简单:
const http = require("http");
http.createServer(function(request, response){
// only post is allowed
if (request.method !== 'POST') {
response.end()
return
}
let body = '';
request.on('data', chunk => {
body += chunk.toString()
})
request.on('end', () => {
const params = new URLSearchParams(body)
let name = params.get("name")
let ip = params.get("ip")
response.write(JSON.stringify({
name,
ip
}))
response.end()
})
}
}).listen(3000)
我使用 JSON.stringify 将其插入到简单的包装器中,以使用简单的json返回响应。
当然缺少输入验证,依此类推...