javascript - jQuery post() JSP 返回集合

标签 javascript jquery json jsp

我的 HTML 看起来像这样:

<script type="text/javascript" src="jquery-1.4.2.js"></script>
    <script type="text/javascript">
        $(document).ready(function(){
            $("#btn").click(function(){
                $.post("test.jsp", { "txt": $("#txt").val() },
                function(data){
                    alert(data);
                    $("#res").html(data);
                });
            });
        });

    </script>

它发送文本字段“txt”的值,然后我的JSP返回列表:

<%
String str=request.getParameter("txt");
List ls=new ArrayList();
ls.add(str+"1");
ls.add(str+"2");
ls.add(str+"3");
ls.add(str+"4");
out.print(ls);
%>

我的问题是如何才能一一获取列表元素?类似data[1]

最佳答案

您需要返回有效的 JSON 字符串。您可以使用 Java JSON 库,也可以将字符串格式化为有效的 JSON(小心):

out.print('["'+str+'1", "'+str+'2"]');

那么 JavaScript 回调中的变量 data 将类似于:["txt1", "txt2"]。然后您需要解析它以使其成为 JavaScript 可用对象(我建议将“json”数据类型附加到 $.post 方法,它会为您进行解析)。

此时可以调用data[1]

关于javascript - jQuery post() JSP 返回集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3174801/

相关文章:

javascript - pdf在新标签angularjs中打开不安全的blob

javascript - 使用对象名称来运行函数

jQuery 将 div 翻转 180 度

javascript - 将静态选项与动态选项一起添加到 HTML Select

json - 包含空值的 BsonDocument 的 Newtonsoft.Json.JsonConvert.SerializeObject 因 InvalidCastException 而失败

javascript - 如何正确使用domReady requireJS插件

javascript - 使元素更宽,然后在达到特定点时变窄

jquery - Jquery DataTable中的滚动问题

java - 我如何定义一个javabean来使用Jackson反序列化json?

java - JSON-B 将日期字符串反序列化为 joda DateTime 而不更改模型类