Ember:jquerypost与嵌套的JSON负载
我想在我的REST服务器上发布一些JSON JSON如下所示:Ember:jquerypost与嵌套的JSON负载,jquery,json,node.js,post,ember.js,Jquery,Json,Node.js,Post,Ember.js,我想在我的REST服务器上发布一些JSON JSON如下所示: { "name": "John Doe", "socials": { "facebook": { "uid": "1234321", "fbsrCookie": "sdfsdfhgsd" } } } Ember.$.post('http://localhost:3000/register', data).then(function ... E
{
"name": "John Doe",
"socials": {
"facebook": {
"uid": "1234321",
"fbsrCookie": "sdfsdfhgsd"
}
}
}
Ember.$.post('http://localhost:3000/register', data).then(function ...
Ember中的POST调用如下所示:
{
"name": "John Doe",
"socials": {
"facebook": {
"uid": "1234321",
"fbsrCookie": "sdfsdfhgsd"
}
}
}
Ember.$.post('http://localhost:3000/register', data).then(function ...
使用Firefox的开发者工具查看该消息,可以看到以下参数
name: "John Doe"
socials[facebook][uid]: "1234321"
socials[facebook][fbsrCookie]: "sdfsdfhgsd"
由于标题“Content Type”是“application/x-www-form-urlencoded;charset=UTF-8”,我无法在node.js-backend上将值作为对象处理(因为它不是JSON)
有没有办法从服务器-(node.js)-后端读取属性?或者如何将有效负载作为JSON发送?好的,就像前面提到的@sdgluck一样,express.js-Framework(我使用的)也可以解析我上面问题中描述的表单数据(url编码的)参数。因此,我仔细检查了express.js的bodyParser中间件的include,并将“extended”参数更改为true,如下所示:
app.use(bodyParser.urlencoded({
extended: true
}));
现在express.js也解析参数,让我通过点符号访问它们(比如:req.body.socials.facebook.uid
)
感谢@sdgluck 好的,就像@sdgluck提到的一样,express.js-Framework(我使用的)也可以解析我上面问题中描述的表单数据(url编码的)参数。因此,我仔细检查了express.js的bodyParser中间件的include,并将“extended”参数更改为true,如下所示:
app.use(bodyParser.urlencoded({
extended: true
}));
现在express.js也解析参数,让我通过点符号访问它们(比如:req.body.socials.facebook.uid
)
感谢@sdgluck 好的,就像@sdgluck提到的一样,express.js-Framework(我使用的)也可以解析我上面问题中描述的表单数据(url编码的)参数。因此,我仔细检查了express.js的bodyParser中间件的include,并将“extended”参数更改为true,如下所示:
app.use(bodyParser.urlencoded({
extended: true
}));
现在express.js也解析参数,让我通过点符号访问它们(比如:req.body.socials.facebook.uid
)
感谢@sdgluck 好的,就像@sdgluck提到的一样,express.js-Framework(我使用的)也可以解析我上面问题中描述的表单数据(url编码的)参数。因此,我仔细检查了express.js的bodyParser中间件的include,并将“extended”参数更改为true,如下所示:
app.use(bodyParser.urlencoded({
extended: true
}));
现在express.js也解析参数,让我通过点符号访问它们(比如:req.body.socials.facebook.uid
)
感谢@sdgluck 如果您有一个返回json的REST服务器,那么将其发送到
application/json
:
vara data = {
"name": "John Doe",
"socials": {
"facebook": {
"uid": "1234321",
"fbsrCookie": "sdfsdfhgsd"
}
}
}
Ember.$.ajax({
method: "post",
contentType: 'application/json',
data: JSON.stringify(data)
});
如果您有返回json的REST服务器,则将其发送到
application/json
:
vara data = {
"name": "John Doe",
"socials": {
"facebook": {
"uid": "1234321",
"fbsrCookie": "sdfsdfhgsd"
}
}
}
Ember.$.ajax({
method: "post",
contentType: 'application/json',
data: JSON.stringify(data)
});
如果您有返回json的REST服务器,则将其发送到
application/json
:
vara data = {
"name": "John Doe",
"socials": {
"facebook": {
"uid": "1234321",
"fbsrCookie": "sdfsdfhgsd"
}
}
}
Ember.$.ajax({
method: "post",
contentType: 'application/json',
data: JSON.stringify(data)
});
如果您有返回json的REST服务器,则将其发送到
application/json
:
vara data = {
"name": "John Doe",
"socials": {
"facebook": {
"uid": "1234321",
"fbsrCookie": "sdfsdfhgsd"
}
}
}
Ember.$.ajax({
method: "post",
contentType: 'application/json',
data: JSON.stringify(data)
});
您使用的是哪个节点HTTP框架?例如,只要包含表单编码请求,Express就应该处理表单编码请求。@sdgluck我确实在使用Express。如果我试图读取请求,比如:
console.log(req.body.socials.facebook.uid)代码>不会打印任何内容。如果您只记录req.body
怎么办?@sdgluck请查看答案您使用的是什么节点HTTP框架?例如,只要包含表单编码请求,Express就应该处理表单编码请求。@sdgluck我确实在使用Express。如果我试图读取请求,比如:console.log(req.body.socials.facebook.uid)代码>不会打印任何内容。如果您只记录req.body
怎么办?@sdgluck请查看答案您使用的是什么节点HTTP框架?例如,只要包含表单编码请求,Express就应该处理表单编码请求。@sdgluck我确实在使用Express。如果我试图读取请求,比如:console.log(req.body.socials.facebook.uid)代码>不会打印任何内容。如果您只记录req.body
怎么办?@sdgluck请查看答案您使用的是什么节点HTTP框架?例如,只要包含表单编码请求,Express就应该处理表单编码请求。@sdgluck我确实在使用Express。如果我试图读取请求,比如:console.log(req.body.socials.facebook.uid)代码>将不打印任何内容。如果您仅记录req.body
怎么办?@sdgluck请查看答案