javascript - 如何使用 Ajax 将数组值从 Javascript 格式化为 Java Servlet

标签 javascript java json ajax servlets

我需要你的帮助。

我使用 AJAX 将这个数组从 Javascript 传递到 Java Servlet。

Javascript 和 AJAX 片段代码:

var BuildingNo = [];

$(xml).find('BUILDING').each(function(){
    BuildingNo.push($.trim(this).children('BuildingNo').text());
}

传递给 Java Servlet 之前的 BuildingNo 值。

alert(BuildingNo);
// 00101,00102,00103,00104,00105 

当我通过 Ajax 将 BuildingNo 传递给 Java Servlet 时,JSON.stringify(BuildingNo) 的值。

data: { BuildingNo : JSON.stringify(BuildingNo) },

alert(JSON.stringify(BuildingNo));
// ["00101","00102","00103","00104","00105"] 

这是我用来将 BuildingNo 传递到 oldBuilding 列表的 Java Servlet 片段代码。

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws (ServletException, IOException {

List <String> oldBuildingList = Arrays.asList(request.getParameter("BuildingNo");

logger.info(oldBuildingList);

// [["00101","00102","00103","00104","00105"]] -- This is a wrong format.

//I have a Java code here which captures a new list of BuildingNo from another service.

List <String> newBuildingList = new ArrayList <String>();
logger.info(newBuildingList.toString());

// [00106,00107,00108,00109,00110] -- This should be the correct format of oldBuildingList.

}

如何使用 oldBuildingList 获得相同格式的 newBuildingList?

最佳答案

不要字符串化,只是保留为 data: { BuildingNo : BuildingNo }

以及在 Java Servlet 中 List <String> oldBuildingList = Arrays.asList(request.getParameterValues("BuildingNo[]");

关于javascript - 如何使用 Ajax 将数组值从 Javascript 格式化为 Java Servlet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52808571/

相关文章:

json - 如何使用 'require'在NestJS Controller 中导入JSON?

javascript - 如何将 Ajax 调用 array(json) 放入全局数组?

javascript - React Native 将数据传递到模式中

java - 在 IntelliJ IDEA 2018.1 中运行 JUnit 5 测试时出错

javascript - formly 动态选项中的默认值

java - 数据库作为 IPC 反模式

java - 从句子中提取动词

sql - 将非结构化 JSON BYTEA 扫描到 map[string]string

javascript - 如何使用 javascript 填充数组中缺失的月份

javascript - 企业架构师: Access View stereotypes from script