gpt4 book ai didi

java - jQuery - JSON 填充下拉列表

转载 作者:太空宇宙 更新时间:2023-11-04 07:40:18 25 4
gpt4 key购买 nike

我正在尝试从需要 JSON 的 jQuery 调用填充下拉列表。我在网上找到了以下代码,这是我的起点(Java 和 Spring 3),但我接受其他/更好的方法:

JSP(仅显示相关代码):

<script language="JavaScript">
$(document).ready(function() {
$('#parkName').change(
function(){
alert($(this).val());
$.getJSON('${findUnitsURL}', {
parkName : $(this).val(),
ajax : 'true'
}, function(data) {
var html = '<option value="">City</option>';
var len = data.length;
for ( var i = 0; i < len; i++) {
html += '<option value="' + data[i].name + '">'
+ data[i].name + '</option>';
}
html += '</option>';

$('#parkUnitTitleAersa').html(html);
});
});
});
</script>


<div id="content">

<form:form method="post" action="mainForm" commandName="mainForm">

<form:select id="parkName" path="parkName">
<form:option value="NONE" label="--- Select ---" />
<form:options items="${parkList}" />
</form:select>

<form:select id="parkUnitTitleAersa" path="parkUnitTitleAersa">
<form:option value="NONE" label="--- Select ---" />
<form:options items="${parkUnitList}" />
</form:select>

<p class="submit"><input type="submit" name="commit" value="Login"></p>
</form:form>

</div>

具有所请求方法的 Java Controller :

@RequestMapping(value = "units", method = RequestMethod.GET)
public @ResponseBody List<String> unitsForPark(@RequestParam(value = "parkName", required = true) String parkName) {
List<String> l = new ArrayList<String>();
l.add("AA01");
l.add("AA02");
l.add("LA03");
l.add("SG04");

return l;
}

当我在“parkName”下拉列表中选择一个值时,其他值不会填充。使用 firebug 我收到此错误:

[10:46:39.881] GET http://localhost:8084/SpringBlog/units?parkName=LA&ajax=true [HTTP/1.1 406 No Aceptable 62ms]

有什么想法吗?谢谢!!

最佳答案

406 指出了 Spring 的问题,因为 Spring 不知道如何创建数据的 JSON View ,因为 $.getJSON 正在设置标题 Accept: application/json 。你应该看看 Spring 的 ContentNegotiatingViewResolverMappingJacksonJsonView

假设您有 <mvc:annotation-driven/> 已经在你的 Spring Web 应用程序的上下文配置中了吗?如果是这样,那么可能只是 Jackson 在运行 Spring 时不在类路径上。只需将其手动添加到您的类路径中,或者如果使用 Maven、Ivy、Gradle(或其他依赖项管理/构建工具),则将其作为依赖项添加到您的类路径中。

关于java - jQuery - JSON 填充下拉列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16165380/

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