【问题描述】
- 通过url传递json数据,传递对象报错
- 对象转字符串后,传递失败,另一页面得到的始终是[Object object]字样
- 使用encodeURI/decodeURI函数传递后,中文乱码
【解决方式】
- 不能通过传递对象方式传递参数,’?data=’+JSON.stringify(data)
- 传递失败,通过’?data=’+encodeURI(JSON.stringify(data))
- 中文乱码,’?data=’+encodeURI(encodeURI(JSON.stringify(data))),另一页面界面解码:
<% String data = request.getParameter("data");%> <script> data = decodeURI('<%=data%>'); data = JSON.parse(data)<script>
此时data为传递的json数据
【原因分析】
- 看了很多牛人写的文章,了解应该是服务器多解码了一次,导致解码不匹配
- 我猜测,我的原因应该是%的解读不正确吧。