servlet中如何获取前台ajax传入的json数据?
我写了一个小 DEMO,大概就是前台 ajax 把 json 数组传入到后台,这个数据如下:
var data2 = {"json1":[{"sex": '男',"submit":"111"},{"sex": '女',"submit":"222"},{"sex": '男',"submit":"33"}]};
然后我要在servlet中获取他,我获取数据的代码是:
String json1 = request.getParameter("json1");
可是我获取到的值为 null,所以我想可能是我获取的方式不对,请问该如何去获取这个 json 数组,如果可以的话请再解释下获取到这个 json 数组后如何获取到里面每个 submit 的值,谢谢~
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
现在我自己找到解决办法了2333,虽然没人回答好尴尬啊,我的方法是,先把数据格式改下,把问题中数据data的定义修改为:
var data2 = [{"sex": '男',"submit":"111"},{"sex": '女',"submit":"222"},{"sex": '男',"submit":"33"}];
然后在ajax中用JSON.stringify方法把这个要传输的数据转化为json字符串的格式,然后在前面再加上"json1="这个字符串,即:
"json1="+JSON.stringify(data2);
然后传输过去就可以获取到了。
水平不高,有错误还请大家指出,谢谢~
方法一:打开网络请求面板,查看请求参数,获取正确的请求参数
换做我的话,我会在浏览器中按 F12 调试,打开 network 面板查看网络请求,请求参数就能一目了然,就是下面这张图:
方法二:检查 ajax 代码,是否填写了正确的请求参数
我猜你在后台可能是没有用正确的 key 去获取,比如举个正确的获取例子,如果 ajax 代码是这样子写:
那么你后台就要以下这种方式获取,因为你指定的 key 就是 data2,是吧?
这不是json吧,不得设置ContentType么