读书人

ajax刷新页面回到的结果是list集合

发布时间: 2013-06-26 14:29:32 作者: rapoo

ajax刷新页面返回的结果是list集合
本帖最后由 showbo 于 2013-05-24 20:26:23 编辑 javascript:

<script type="text/javascript">
$(function(){
$(".jd").click(function(){
$.ajax({
type:"POST",
data:{"side":3},
url:"../police/inlist3.action",
dataType:"json",
success:function(data){
$("#c04").empty();
for(i=0;i<data.length;i++){
var $tr=$('<ul><li>' +data[i].side
+ '</li><li>' +data[i].title
+ '</li><li>' +'<s:date name="new java.sql.Date('
+ data[i].createTime
+')" format="yyyy-MM-dd"/></li></ul>'
);

document.getElementById("c04").innerHTML=$tr;
}
}
});

});
});
</script>
jsp:
<li><a href="#" class="jd">测试</a></li>
<div id="c04" class="hidden" style="float:left;"> </div>


struts.xml:
 <action name="inlist3" class="sdjx.action.ListInformationAction">
<result type="json" name="json">
</result>
</action>

action:
JSONArray obj=JSONArray.fromObject(industrys);
return "json";

action中industry是需要输出的list集合,要求页面显示集合中每一个实体的side,title和时间属性,其中时间属性是一个long类型的数据,需要进行转换 Ajax JSON
[解决办法]
本帖最后由 showbo 于 2013-05-24 20:33:32 编辑 打印json看看结构是什么。。应该是你结构不对。。导致取出的是对象而不是值,而且你这个没报错吗?

+'<s:date name="new java.sql.Date('
+ data[i].createTime
+')"

你这句应该是服务器端的,无法直接调用客户端的内容。

dataType:"text",
success:function(data){
alert(data)

dataType改成text,输出data看下json的结构,然后再改回去dataType为json,然后修改for循环

或者用firebug或者chrome的开发工具看返回的json数据格式

[解决办法]

data = data.list
for(i=0;i<data.length;i++){

另外。js中是不能使用'<s:date name="new java.sql.Date('
+ data[i].createTime
+')" format="yyyy-MM-dd"/>的

读书人网 >Ajax

热点推荐