【发布时间】:2013-11-19 05:35:09
【问题描述】:
我正在将 JSON(从客户端)发送到 NodeJS 服务器,如下所示:
$.ajax({
type: "POST",
dataType: "jsonp",
url: "www.xyz.com/save",
data: {
designation: "Software Developer",
skills: [
"",
"ASP.NET",
"PHP",
"",
"",
"",
"NodeJS",
"",
""
]
}
});
在接收端(即 NodeJS 服务器),我打印 JSON(带有 console.log)如下:
save = module.exports = {};
save.setup = function( app ) {
app.get( '/save', function(req, res) {
console.log(req.query);
});
}
问题在于会打印以下内容:
{
designation: "Software Developer",
skills: [
"ASP.NET",
"PHP",
"NodeJS",
]
}
即它在 skills 数组中缺少空字符串值(我从 req.query 中得到它)。
我还检查了网络面板(在开发人员工具中)。它还显示了正确的 JSON。
有人知道可能出了什么问题吗?
【问题讨论】:
-
试试
req.body.skills -
这是一个很好的问题,听起来像 Josh 所说的 qs 问题。尽管如此,我还是鼓励您重新考虑这种方法,而不是重新配置解析查询参数的方式——为什么这些数组中需要有空格?
-
@tymeJV req.body.skills 很有帮助。
标签: javascript jquery ajax json node.js