【发布时间】:2019-05-12 18:25:06
【问题描述】:
通过使用 jQuery,我试图将我的字符串数组保存在后端,下面是我的方法。
1.使用jQuery ajax发送数组。
var tagTexts = $(ul li.select2-selection__choice")
.toArray()
.map(function(i){
return i.innerText;
});
tagTexts = tagTexts.join(',');
$.ajax({
type: 'POST' ,
url: '/tag/tagList',
dataType: 'json',
data: {
tagTexts: tagTexts
},
error: function(err) {
console.log(err);
},
success: function(response) {
//Process Response
}
});
2.后端检索如下:
@ResponseBody
@RequestMapping(value = "/tag/tagList", method = RequestMethod.POST)
public String saveTagList(HttpServletRequest request,
@RequestParam(value = "tagTexts", required = false)List<String>tagTexts) {
System.out.println(tagTexts);
String response = tagService.saveTags(tagTexts);
return response;
}
a) 使用数组连接方法
以下是捕获的字符串数组:
["Drone", "Richard Feynman, PHD", "Yatch"]
使用数组连接方法后,更改如下:
Drone,Richard Feynman, PHD,Yatch
在 java 执行(后端)中显示如下:
[Drone, Richard Feynman, PHD, Yatch]
b) 使用 JSON.stringify 方法
使用 JSON.stringify 方法后,捕获的数组显示如下:
["Drone", "Richard feynman, PHD", "Yatch"]
这在 js 级别看起来不错,但这整行被认为是一个字符串,它在后端显示如下:
[["Drone", "Richard feynman, PHD", "Yatch"]].
我希望我的代码能够按如下方式工作:
- 捕获的原始数据元素中的逗号字符不应拆分。
- 整个数组不应在后端显示为字符串。
有没有更好的方法来实现这一点?
【问题讨论】:
标签: javascript java jquery arrays spring