我的 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/