使用 Spring MVC 从 Jquery ajax 方法返回字符串数组
Posted
技术标签:
【中文标题】使用 Spring MVC 从 Jquery ajax 方法返回字符串数组【英文标题】:Returning a String array from Jquery ajax method using Spring MVC 【发布时间】:2012-08-09 04:10:57 【问题描述】:我正在尝试使用 JQuery 的 .ajax 方法动态生成列表/下拉列表。以下是我写的代码:
<script type="text/javascript">
$(document).ready(function()
alert('in doc');
$.ajax(
url: "dyn/list",
type: "GET",
data: "list="+'',
dataType: "json",
error: function() alert('eerrrr');,
success: function(data)
alert('success');
alert(data);
$('#seltag').append(
$('<option></option>').html(data)
);
,
complete: function()
);
);</script>
而我对应的控制器方法看起来像
@RequestMapping(value = "/dyn/list", method = RequestMethod.GET)
public @ResponseBody String getList(@RequestParam String list)
ArrayList<String> newList = new ArrayList<String>();
newList.add(opt0);
newList.add(opt1);
newList.add(opt2);
return(new JSONArray(newList).toString());
//return opt0;
其中 opt0,1 和 2 是静态字符串变量。每次返回一个错误。我也尝试过 .getJSON 但无济于事。小伙伴们帮帮我!!
【问题讨论】:
"每次返回错误。"帮助我们并告诉我们错误是什么,这将使我们更容易为您提供帮助。 【参考方案1】:您不需要自己转换为 JSON。 Spring 3 启用了 <mvc:annotation-driven
并且 classpath 中的 jackson 会为您完成:
@RequestMapping(value = "/dyn/list", method = RequestMethod.GET)
public @ResponseBody List<String> getList(@RequestParam String list)
List<String> newList = new ArrayList<String>();
newList.add(opt0);
newList.add(opt1);
newList.add(opt2);
return newList;
欲了解更多信息,请查看this post
【讨论】:
谢谢.. 效果很好。我实际上是 Web 开发的新手。请原谅我的信息不完整【参考方案2】:添加到 oris 答案,您也不需要执行 getJSON。在您的成功回调迭代中抛出列表以获取消息。
success: function(data)
for(var count=0; count<data.length; count++)
yourMessage = data[count];
//your code
【讨论】:
以上是关于使用 Spring MVC 从 Jquery ajax 方法返回字符串数组的主要内容,如果未能解决你的问题,请参考以下文章
如何在 MVC Ajax 中使用 jQuery blockui 插件?
如何使用 mvc spring 将 JSON 数组插入 MySQL
使用 Spring Security 保护对 Spring MVC REST API 的 jQuery 调用
在 Spring MVC 中映射 Ajax 请求:不允许出现错误 405 方法
在 Spring Boot App 中使用 Jquery 和 FormData 提交表单字段并上传 File 到 Spring MVC Controller