jQuery – 填充下拉列表的JSON
我正在尝试从需要JSON的jQuery调用填充下拉列表。 我在网上发现了以下代码,这是我的起点(Java和Spring 3),但我接受其他/更好的方法:
JSP(仅显示相关代码):
$(document).ready(function() { $('#parkName').change( function(){ alert($(this).val()); $.getJSON('${findUnitsURL}', { parkName : $(this).val(), ajax : 'true' }, function(data) { var html = 'City'; var len = data.length; for ( var i = 0; i < len; i++) { html += '' + data[i].name + ''; } html += ''; $('#parkUnitTitleAersa').html(html); }); }); });
具有所请求方法的Java控制器:
@RequestMapping(value = "units", method = RequestMethod.GET) public @ResponseBody List unitsForPark(@RequestParam(value = "parkName", required = true) String parkName) { List l = new ArrayList(); 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视图,因为$.getJSON
正在设置标题Accept: application/json
。 你应该看一下Spring的ContentNegotiatingViewResolver和MappingJacksonJsonView
假设您的Spring Web应用程序的上下文配置中已经有
? 如果是这样,那么可能只是jackson在运行Spring时不在类路径上。 如果使用Maven,Ivy,Gradle(或其他依赖管理/构建工具),只需手动将其添加到classpath或作为依赖项。
- 将数组从Jquery发送到Struts1方法
- Java with ajax – ERR_EMPTY_RESPONSE – Ajax响应在服务器处理请求时抛出错误
- 元素无法使用text-selenium webdriver定位
- 在父级(相同的域)中单击iframe open事件内部?
- 在Spring中,从jsp页面上的日期选择器读取后,web控制器中的mvc应用程序日期值被接收为NULL
- 如何在Struts 2中映射select标签中的多个值?
- blueimp jquery文件上传空文件上传结果struts2,文件项目为空
- 使用JAVA套接字服务器读取AJAXpost内容
- 如何在java中生成签名并在jQuery(Cloudinary)中使用它?