使用 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 启用了 &lt;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 插件?

js怎么获取mvc3的model或者viewdata

如何使用 mvc spring 将 JSON 数组插入 MySQL

使用 Spring Security 保护对 Spring MVC REST API 的 jQuery 调用

在 Spring MVC 中映射 Ajax 请求:不允许出现错误 405 方法

在 Spring Boot App 中使用 Jquery 和 FormData 提交表单字段并上传 File 到 Spring MVC Controller