栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何在Servlet request.getParameter中从jQuery读取复杂的JSON对象

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何在Servlet request.getParameter中从jQuery读取复杂的JSON对象

data
参数
$.ajax()
采用代表请求参数映射的JS对象。因此,您提要给它的任何JS对象都将转换为请求参数。由于将JS对象传递给普通对象,因此将其视为请求参数映射。您需要通过确切地使用它们的请求参数名称表示形式来访问各个参数。

String name1 = request.getParameter("rooms[0][name]");String capacity1 = request.getParameter("rooms[0][capacity]");String name2 = request.getParameter("rooms[1][name]");String capacity2 = request.getParameter("rooms[1][capacity]");// ...

您可以通过

HttpServletRequest#getParameterMap()
方法找到它们:

Map<String, String[]> params = request.getParameterMap();// ...

您甚至可以如下动态收集所有参数:

for (int i = 0; i < Integer.MAX_VALUE; i++) {    String name = request.getParameter("rooms[" + i + "][name]");    if (name == null) break;    String capacity = request.getParameter("rooms[" + i + "][capacity]");    // ...}

如果您打算将其作为真实的JSON对象传递,以便可以使用JSON解析器将其进一步分解为属性,则必须

String
在使用JS /
jQuery发送之前将其转换为,并指定
data
参数,如下所示:

data: { "rooms": roomsAsString }

这样,它就可以作为JSON字符串使用

request.getParameter("rooms")
,您可以通过该字符串进而使用任意JSON API进行解析。


具体问题 无关 ,请勿

$
在jQuery中为非jQuery对象使用变量前缀。这使您的代码对JS /
jQuery专家更加混乱。仅将其用于真正的jQuery对象,而不能用于普通的香草字符串或基元。

var $foo = "foo"; // Don't do that. Use var foo instead.var $foo = $("someselector"); // Okay.


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/373085.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号