gpt4 book ai didi

javascript - 如何在 Spring MVC 应用程序中使用 Jquery 发送多个参数 Ajax 请求。?

转载 作者:行者123 更新时间:2023-11-30 12:47:39 25 4
gpt4 key购买 nike

这是我的相关代码。我的输出是这样的。 enter image description here

我需要发送region和tsrId作​​为参数来查询。这是我的代码

jsp

这是我使用 jquery 的 ajax 请求

<script type="text/javascript">
$(document).ready(function() {
var region = document.getElementById('region').value;
var tsrId = document.getElementById('tsrId').value;
$('#tsrId').autocomplete({
serviceUrl: 'getTsrId.html',
data: ({queryData : {region:region,tsrId:tsrId}}),
//delimiter: ",",
transformResult: function(response) {
return {suggestions: $.map($.parseJSON(response), function(item) {return { value: item.name, data: item.id };
})};}});});
</script>

这是 HTML 表单

  <td>Region</td>
<td><input type="text" name="region" id="region"><div class="autocomplete-suggestions"></div></td>
<td>TSR ID</td>
<td><input type="text" name="tsrId" id="tsrId" maxlength="8"><div class="autocomplete-suggestions2"></div></td>

这是我的 Controller

@RequestMapping(value = "/getTsrId", method = RequestMethod.GET)
public @ResponseBody List<TSRMaster> getTsrId(@RequestParam String tagName,@RequestBody QueryData queryData) {
List<TSRMaster> tsrMasterList=new ArrayList<TSRMaster>();
tsrMasterList=gpsdao.getTsrIdList(queryData.getRegion(),queryData.getTsrId());
return tsrMasterList;
}

这是我的 requestMapping bean 类

public class QueryData {

private String region;
private String tsrId;

public String getRegion() {
return region;
}
public void setRegion(String region) {
this.region = region;
}
public String getTsrId() {
return tsrId;
}
public void setTsrId(String tsrId) {
this.tsrId = tsrId;
}

}

请帮我解决这个问题..还有其他替代解决方案吗,请在下面提及该路径谢谢。

最佳答案

到目前为止,我能够完成这项工作的唯一方法是在客户端调用 JSON.stringify(),这会将 JavaScript 对象转换为 JSON 字符串。 (要跨浏览器兼容,您需要 json2.js )

然后您将它作为一个字符串参数发送给 Spring 并在那里使用 Jackson 解析它图书馆。

示例代码:

Java 脚本

data: ({queryData : JSON.stringify({region:region,tsrId:tsrId}})),

Java

RequestMapping(value = "/getTsrId", method = RequestMethod.GET)
public @ResponseBody List<TSRMaster> getTsrId(@RequestParam String tagName,@RequestParam String queryData) {

ObjectMapper myMapper = new ObjectMapper();
QueryData myQueryData = myMapper.readValue(queryData, QueryData.class);

List<TSRMaster> tsrMasterList=new ArrayList<TSRMaster>();
tsrMasterList=gpsdao.getTsrIdList(myQueryData.getRegion(),queryData.getTsrId());
return tsrMasterList;
}

关于javascript - 如何在 Spring MVC 应用程序中使用 Jquery 发送多个参数 Ajax 请求。?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21978685/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com