Ajax的核心是Javascript对象XML Http Request。该对象在InternetExplorer5中首次引入,它是一种支持异步请求的技术。简而言之,XmlHttpRequest使您可以使用JavaScript向服务器提出请求并处理响应,而不阻塞用户。
需求:
1.对某一列进行动态更新。
2.不能对表格状态更改,如选中状态、当前页数、筛选等。
这样我们使用draw、ajax.reload等都不能满足第二个需求。幸好发现一个apicell().data()可以实现上面的需求。对此进行了封装来满足需求。
$.fn.dataTable.Api.register('partUpdate',function(col){
varapi=this;
varSdata=api.data().data()
$.ajax({
url:api.ajax.url(),
data:api.ajax.params(),
contentType:"application/json;charset=utf-8",
dataType:"json",
type:'post',
success:function(resp){
vardata=resp.data;
varerror=resp.error;
if(error!=null||error!=undefined){
alert(error)
returnfalse;
}
varfield=table.column(col).dataSrc()
$.each(Sdata,function(index,Sitem){
$.each(data,function(_i,item){
if(item!=undefined&&item.id==Sitem.id){
if(Sitem[field]!=item[field]){
table.cell(index,col).data(item[field])
}
deletedata[_i]
returnfalse;
}
})
})
}
})
});
我们注册apipartUpdate,在内部ajax访问数据源,将得到数据和原来数据进行对比,然后进行单元格更新。
ajax,国内翻译常为“阿贾克斯”和阿贾克斯足球队同音。web应用的交互如Flickr,Backpack和Google在这方面已经有质的飞跃。这个术语源自描述从基于Web的应用到基于数据的应用的转换。在基于数据的应用中,用户需求的数据如联系人列表,可以从独立于实际网页的服务端取得并且可以被动态地写入网页中,给缓慢的Web应用体验着色使之像桌面应用一样。