在使用nodejs时经常使用req.query.参数名 来获取参数的值
例如
url : http://localhost:7778/project?id=1
<span style="font-size:18px;">var id = req.query.id console.log(id);//打印出url的id参数值1 </span>
但是在url中的参数是JSON格式时就出现了问题
url:http://localhost:7778/project?mainMember={id:1}
打印mainMember和mainMember.id的值发现mainMember可以正常打印,但mainMember.id确是undefined,如下图
后来使用typeof 打印了一下mainMember的类型 ,发现是String。应该是在数据传输过程中,json是以字符串的形式传递的,而JS操作的是JSON对象,所以,要将字符串的JSON转换成JSON对象
修改下代码:
var main = req.query.mainMember; var mainMember = eval("(" + main + ")");//将字符串JSON转换成JSON Object console.log(mainMember); console.log(mainMember.id);
打印结果就正确了
突然担心 传数组也需要转换~~~
时间: 2024-11-13 12:58:20