jQuery post()JSP返回集合

时间:2010-07-04 13:22:15

标签: 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返回List:

<%
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]

1 个答案:

答案 0 :(得分:1)

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

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

然后,您的JavaScript回调中的变量data将类似于:["txt1", "txt2"]。然后你需要解析它以使它成为一个JavaScript可用的对象(我建议将'json'dataType附加到$ .post方法,它会为你解析。)

此时您可以拨打data[1]