我想知道我是否做错了或者是否正常我在服务器端(使用express)通过在获取后调用req.body.username
(例如)来访问模型的属性是正常的()致电:
app.get("/test", function(req, res){
console.log(req.body.username); //Undefined
});
但我可以通过PUT请求以相同的方式访问它。
实际上我使用url发送用户名,但我想清理我的路由并通过req.body
来访问属性,(当然在我的模型中在客户端设置它之后)。
感谢您的解释!
更新:
如果它可能很重要,这是我的应用配置:
app.configure(function(){
app.use(express.bodyParser());
app.use(express.cookieParser());
app.use(express.session({secret: 'test', store: express.session.MemoryStore({
reapInterval: 60000 * 10
})}));
});
答案 0 :(得分:0)
我猜你在客户端使用backbone.js,因为你用它标记了你的问题。默认情况下,Backbone的sync-method似乎不会将模型数据附加到请求中。您可以将其作为提取/同步选项传递,但似乎JQuery会将数据附加到网址。您可能必须覆盖主干的sync-和/或ajax方法。我认为,在this other answer(资源必须由URI完全标识)中指出,在GET请求中包含一个正文是违反REST主体的。