作者ledzepp0 (led)
看板Ajax
标题[问题] jquery post json object 的问题
时间Thu Apr 28 19:29:55 2016
各位大大好:
初次接触ajax, 今天尝试用jsp 写来接收POST过来的json资料
大概的程式码如下:
*SEND POST 的部分:
<script>
var testdata = {
"mode" : "A",
"userdata" : {
"color" :"red",
"size" : "big"
}
}
</script>
$.post( url, testdata);
------
jsp 接收端
<%
String mode = request.getParameter("mode");
String userdata = request.getParameter("userdata");
out.print("mode:"+ mode+", userdata:"+userdata);
%>
显示的结果是 mode:A, userdata:null
其中mode的部分会正常显示资料,但是userdata 是null,
实在是满奇怪的,後来有尝试用String 的方式,
把资料每个有双引号的部分加上反斜线(\")
就可以正常收到资料 囧
後来也尝试$.param() JSON.stringify 就是没办法正常接收jsonobject的资料
*使用encodeURIComponent()的话倒是可以得到一些需要decode的资料
目前想到的方法就是把资料转成String 再把双引号加上\
但感觉不是个正常的做法XD
请教各位大大有没有遇过类似的问题,要如何解决
感谢~~
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 59.115.153.69
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Ajax/M.1461842998.A.2D1.html
※ ledzepp0:转录至看板 java 04/28 19:59
1F:→ foreverangle: request.getParameter("userdata[color]")04/28 20:06
2F:→ foreverangle: 用浏览器的工具去看request发送的data,应该就能懂04/28 20:08
感谢大大,後来依照这个逻辑,我把原先的资料先 stringify 再包成json object就可了!
※ 编辑: ledzepp0 (42.72.150.97), 05/04/2016 12:56:29