【发布时间】:2012-07-22 10:55:55
【问题描述】:
我有以下 Node.js 代码:
var express = require('express');
var app = express.createServer(express.logger());
app.use(express.bodyParser());
app.post('/', function(request, response) {
response.write(request.body.user);
response.end();
});
现在如果我发布类似的内容:
curl -d user=Someone -H Accept:application/json --url http://localhost:5000
我按预期得到Someone。现在,如果我想获得完整的请求正文怎么办?我尝试做response.write(request.body) 但Node.js 抛出一个异常说“第一个参数必须是一个字符串或缓冲区”然后进入一个“无限循环”,异常说“Can' t 在发送后设置标题。";即使我先写了var reqBody = request.body;,然后写了response.write(reqBody),这也是正确的。
这里有什么问题?
另外,我可以在不使用express.bodyParser() 的情况下获取原始请求吗?
【问题讨论】:
-
response.write(reqBody)好像有点东西;当我使用response.send(reqBody)时,一切正常……是的,我在response.write之后使用response.end。
标签: javascript node.js express