代码改变世界

ajax无刷新加载数据

2011-11-26 14:59  soothing  阅读(489)  评论(0编辑  收藏  举报

在做iphone站点的时候,产品人员提出了一个要求:点击“更多····”的时候,页面无刷新加载数据,正好想到ajax能满足这个要求,但之前没弄过这个,大概学习了一下,弄了个方法,解决了这个需求,贴出来共享一下:

function getMoreData(params,moduleListId)
{
var pcount = 20 ; //每页记录数
var tempdata = "";
var paramsobj = $.extend(true,{page:iPageIndex,pcount:pcount} ,params);    //请求参数

$.ajax({
url: host+"iphone_gamelist_bypage", //向后台请求的url
cache:false, //
data : paramsobj,
success: function(data){  //请求成功
data = eval(data);  //数据系列化成json

if(data == null){
return;
}

var now = new Date();

//将请求的数据拼接到原来页面的DOM节点上

for(var i=0;i<data.length;i++)
{
var obj = data[i];
//alert(obj);
if(i%2==0){
tempdata += "<li class='silvery'>";
}else{
tempdata += "<li class='grey'>";
}
tempdata += "<a href='"+host+"game/"+obj.Id+"' class='list-main'>"
+ "<img class='list-img' src="+imagehost+obj.Cp_Id+"/"+obj.Id+"."+obj.Image+" alt='游戏缩略图'/>"
+ "<div class='listInfo'>"
+ "<h3 class='listTitle noWrap ui-li-heading'>"+obj.GameName+"</h3>"
+ "<div class='listNote'>"
+ "<p class='ui-li-desc'><span>"+obj.GameCateName+"</span></p>"
+ "<p class='ui-li-desc'><span>大小:</span><span>"+obj.FormatFileSize+"</span></p>"
+ "</div>"
+ "</div>"
+ "<p class='pr'><span class='listAside'>"+obj.GameTypeDetailName+"</span></p>"
+ "</a>"
+ "</li>";

}

$("#"+moduleListId)[0].innerHTML += tempdata;

if(data.length<20){       //如果数据小于20条,隐藏按钮
setNextButtonDisapper(nextButton,'true');
}
}
});
} // end getMoreData