Node.js 我不知道';无法在上获取请求的数据(';数据';
我在Debian 9上使用了Nodejs版本10.10.0,代码很简单,但在控制台和响应中都没有显示任何数据 代码:Node.js 我不知道';无法在上获取请求的数据(';数据';,node.js,request,Node.js,Request,我在Debian 9上使用了Nodejs版本10.10.0,代码很简单,但在控制台和响应中都没有显示任何数据 代码: const http = require('http'); const { parse } = require('querystring'); http.createServer((request, response) => { const { headers, method, url } = request; let body = []; request.o
const http = require('http');
const { parse } = require('querystring');
http.createServer((request, response) => {
const { headers, method, url } = request;
let body = [];
request.on('error', (err) => {
console.error(err);
}).on('data', (chunk) => {
body.push(chunk);
}).on('end', () => {
body = Buffer.concat(body).toString();
console.log(parse(body));
response.statusCode = 200;
response.setHeader('Content-Type', 'text/html');
response.setHeader('Access-Control-Allow-Origin', '*');
response.setHeader('Access-Control-Allow-Credentials', true);
response.write('body: ' + body);
response.end();
});
}).listen(3030); // Activates this server, listening on port 8080.
{}
结果:
const http = require('http');
const { parse } = require('querystring');
http.createServer((request, response) => {
const { headers, method, url } = request;
let body = [];
request.on('error', (err) => {
console.error(err);
}).on('data', (chunk) => {
body.push(chunk);
}).on('end', () => {
body = Buffer.concat(body).toString();
console.log(parse(body));
response.statusCode = 200;
response.setHeader('Content-Type', 'text/html');
response.setHeader('Access-Control-Allow-Origin', '*');
response.setHeader('Access-Control-Allow-Credentials', true);
response.write('body: ' + body);
response.end();
});
}).listen(3030); // Activates this server, listening on port 8080.
{}
感谢您的评论。我是Nodejs新手,我一直认为数据应该包括GET或POST请求的数据;看起来它只处理POST请求,GET应该从标题解析。您向服务器发送的是什么请求?GET还是POST?显示发送到服务器的确切请求。如果是GET,则有no body sent,仅发送头。我还建议将
console.log(chunk)
放入data
事件处理程序中,这样您就可以查看是否调用了它。