module.exports=function(app){
//app is passed in from app.js
//app is a express application
var data=[
{item:"cheese"},{item:"milk"},{item:"strawberrys"}
]
app.get('/todo',function(req, res){
res.render('todo',{data:data});
});
app.post('/todo',function(req, res){
var data="";
req.on('data', function(chunk){
data+=chunk;
});
req.on('end', function(){
console.log(data);
})
});
}
关于上面的代码,有几个问题,“数据”是您可以在其上设置流并且块函数以块为单位返回流的事件吗?同样,当我打印出“结束”事件中的数据时,当它是我通过的对象时,它给了我item = eggs的信息是{item:“ eggs”}。为什么没有给我对象?同样在“数据”事件中,它以字节缓冲区返回它,但是在“结束”事件中,它作为对象返回?
答案 0 :(得分:0)
这取决于post
内容类型
如果您使用content-type: application/json
进行发布,它将显示JSON数据。
示例:
POST /todo HTTP/1.1
Host: localhost:8080
Content-Type: application/json
{"key":"value"}
如果您使用content-type: application/x-www-form-urlencoded
进行发布,则会显示key1=value1&key2=value2
等。
如果您不使用application/json
,则请求将如下所示。
示例:
POST /todo HTTP/1.1
Host: localhost:8080
Content-Type: application/x-www-form-urlencoded
key=value