我有这个基本服务器:
var http = require("http");
var url = require("url");
var routing = require("./RoutingPath");
function start() {
function onRequest(request, response) {
var path = url.parse(request.url).pathname;
var query = url.parse(request.url,true).query;
routing.Route(path.toLowerCase(), query, function(recordset){
response.writeHead(200, {"Content-Type": "application/json"});
if (recordset != null)
{
console.log(JSON.stringify(recordset, null, 4));
response.write(JSON.stringify(recordset, null, 4));
}
response.end();
console.log();
});
}
http.createServer(onRequest).listen(8888);
console.log("Server has started!");
}
我使用" HttpRequester"发布请求,并在(小文件)中添加附件或使用内容文本框在其中发送数据。在我的服务器中,我收到了请求但无法访问它的正文。我试过了:
console.log(request.body);
但它未定义。
我尝试打印所有请求以查找我的数据,但它太长了,我无法看到所有请求。
我尝试了其他请求,因为我认为" HttpRequester"我可能不会向朋友发送正确的请求,而该朋友是从客户那里发给我的。
如何访问请求正文?
答案 0 :(得分:2)
如果您需要使用默认的http模块,则需要从数据流中读取请求正文:
if (request.method == 'POST') {
request.on('data', function(chunk) {
console.log("Received body data:");
console.log(chunk.toString());
});
}
我建议您查看expressjs,它已经具有路由功能,并且有各种正文解析器用于文件/ json等。