jquery从后台取得list,怎么遍历出来

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jquery从后台取得list,怎么遍历出来相关的知识,希望对你有一定的参考价值。

var list;//ajax 异步从后台取回的json [id:1,id:2]
for(var i=0;i<list.length;i++)
    console.log(list[i].id);//ID为假设的属性

延伸,javascript中并没有能够兼容所有的foreach。需要自己封装类似的方法。如果你采用类库.就相对简单。

参考技术A

一般情况下,后台的list应该是转成了json字符串,返回到了ajax的回调函数里。在回调函数里可以直接操作该json字符串。我大体举个例子:

$.post("test.php", name: "John", time: "2pm" ,

function(data)
  //可以在这儿循环,比如:
  var listNow=data.listHouTai;//取list。listHouTai是你后台定义的json名称
  for ( var i = 0; i < listNow.length; i++)  
       var id = vos[i].Id;//可以取list中第一个对象的id值,其他的类推
  }   
     
);

参考技术B //jquery取的list,是ajax取的吗?
$.post(url,param:value,function(data)
    //如果传递的是json数组["id":1,"name":"Tom","id":2,"name":"Lily"]
    var list = eval("("+data+")");
    for(var i=0;i<list.length;i++)
        alert(list[i].id+" "list[i].name);//访问每一个的属性
    
);

本回答被提问者和网友采纳

jsp加载时怎么获取后台list集合并遍历

我后台有两个list集合,jsp页面加载时,我要先获得集合的值,然后把集合的值遍历出来,成为jsp页面的左菜单,一个list是菜单的名,一个是菜单的标记参数(如下面的,emp,date,user,等参数)。求详细代码,步骤我明白,代码不会写。
下面是我jsp代码,目前是写死的。我不用struts2什么的框架,就是 servlet。

<body class="frame_class">
<div id="topDataTd" width="450" height="66" style="background-color: #5356FF">
<h1 style="font-size: 45px;color: #FFFFFF;"> Excel 管理</h1>
</div>
<div id="leftPanel">
<div id="menuList" >
<h1>excel添加</h1>
<ul style="">
<li><a href="skip.do?params=emp" onclick="change(this)" target="mainFrame">emp单表</a></li>
<li><a href="skip.do?params=date" onclick="change(this)" target="mainFrame">日期-单表</a></li>
<li><a href="skip.do?params=user" onclick="change(this)" target="mainFrame">user单表</a></li>
<li><a href="skip.do?params=role" onclick="change(this)" target="mainFrame">role单表</a></li>

1、首先,需要JSTL-1.2的jar包,自行百度搜索下载。

2、将JSTL-1.2的jar包放入web工程的lib文件夹下。

3、在需要的遍历List的页面中引入JSTL的核心标签库。

4、使用<c:forEach><c:forEach/>标签遍历List数组。

5、【items】中使用EL表达式,来拿到List数组。

6、【var】用指定变量名来接收遍历数组的值。

7、利用EL表达式,将var中的值取出,即可。

8、展示效果。

参考技术A 代码示例,供参考。

<html> 
<head> 
</head> 
<body> 
<body class="frame_class">
<div id="topDataTd" width="450" height="66" style="background-color: #5356FF">
<h1 style="font-size: 45px;color: #FFFFFF;">    Excel 管理</h1>
</div>
<div id="leftPanel">
<div id="menuList" >
<h1>excel添加</h1>
<ul style="">
<%!
list=request.getattribute("你在request中设置的列表名称")//获取列表
PrintWriter out = response.getWriter();
For(int i=0;i<list.size();i++)//for循环遍历列表,输出ul中的li

out.println("<li href='"+list[i].getUrl()+"' >"+list[i].getName()+"</li>")
 
%>
<ul>
</body> 
</html>

追问

很强大,但是它怎么知道去那个action中取list集合呢?这个在那写?我是刚上来就加载这个页面。

追答刚上来就加载这个jsp页面?  那你的数据是从哪里来的? 

比如是数据库,你可以把

list=request.getattribute("你在request中设置的列表名称")

改成:

UserDao ud = new UserDao();
list = ud.getUserList();


所以,你在java中是怎么取list中的数据,那在jsp的<%  %>中就怎么取好了。

追问

非常感谢,我去试试。能加我Q吗? 237613433

本回答被提问者采纳
参考技术B struts标签可以自动遍历获取的列表,不用struts,我觉得可以在页面中嵌入java代码的方式实现:现在servlet的方法里用request.setattribute添加列表
<%!
list=request.getattribute()//获取列表
%>
<% for()//再写一个for循环遍历
%>
<li><%=获取列表值 %></li>
<%
%>

你试试看吧追问

我需要在页面加载时获取到这个list。然后显示成这个页面的菜单。该怎么弄呢?

参考技术C 不用其他框架,就用servlet,你在后台处理时,session里面把你说的list的值set进去,例如:session.setAttribute(key,value)。在前台页面中用<% List list = (List)session.getAttribute(key)%>得到,然后for循环,遍历list变量。追问

求详细代码,我知道步骤,代码写不出来。而且我也没有用session。全是 reuqest,response

参考技术D 定义一个类,在页面直接用方法获取就行

以上是关于jquery从后台取得list,怎么遍历出来的主要内容,如果未能解决你的问题,请参考以下文章

怎么用JQuery取得Table的所有行的第一列

在JavaScript中怎么取得DataTable中的数据

Java web根据下拉框选定内容进行查询数据怎么做?

jquery 怎样取得指定某一行每一列的值

后台取得前台值!

js中如何取得jsp中的List;例如下边jsp中代码,代码简单写的,只要具体的解决方法,最好有代码实例