在前端, 数据被JSON.stringift 用POST方式发送到node服务端,本来是‘[’符号 被转换成了 ': { ’
而为什么要用JSON.stringift,是因为公司的插件的原因。 所以在这里请教这是怎么回事,以及如何破解之妙方!
竟然有此等转换!谁干的!
JSON.stringify({a:[1,2]}) "{“a”:[1,2]}" 不知道你这个怎么会变成 :{
嗯 前端发送的时候数据还是完整的 然后在服务器端 用req.body接收后就出现问题了 ,像这样:
{ ‘{“title”:null,“type”:“会议”,“created”:null,“meetingTime”:{“start”:“2013-08-03T04:00:00.000Z”,“end”:“2013-08-03T04:30:00.000Z”},“username”:“lzh”,“meetingRoom”:null,“process”:’: { ‘],“members”:{“groupMember”’: { ‘{“id”:“zhz”,“type”:“员工”,“name”:“XXX”,“gender”:“男”},{“id”:“cey”,“type”:“员工”,“name”:“XXX”,“gender”:“男”}]},“remind”:{“method”:“rtx”,“time”’: [Object] } } }
@batmanjs req.body是用express框架的 我没用过, 我用nodejs原来的方法 返回buffer转换为字符串都是正确的实现不了你的错误 帮不了你啦
@llj732589025 嗯 好吧 谢谢你的回帖
@batmanjs 都没帮到你 不客气
在数据被JSON.stringift 用POST方式发送到node服务端之前,console.dir(数据) 看看是什么,再看看node app.js中 最早出现req的地方,把数据console.dir(数据)看看是什么,如果两处数据一样那也许是Node.js服务器做了XSS处理导致。至少这样可以确定问题在哪里
如果实在不行,你可以在post的时候使用escape加密json字符串,这样就不存在[]了,然后接受时使用unescape