利用AJAX實(shí)現(xiàn)無(wú)刷新數(shù)據(jù)分頁(yè)
以前在使用Asp.Net的時(shí)候用過(guò)GridView這個(gè)控件,這個(gè)控件自帶分頁(yè)的功能,雖然很丑,但是功能還是很強(qiáng)大的。這里呢,給大家展示一下更加給力的方式——利用AJAX無(wú)刷新直接從服務(wù)器獲取數(shù)據(jù)分頁(yè)。
一、實(shí)現(xiàn)過(guò)程
注意:一下的內(nèi)容都是在服務(wù)器內(nèi)使用的。
首先要在服務(wù)器的路徑下建立幾個(gè)文件,比如,page1.txt,page2.txt,page3.txt。
每個(gè)文件中放入數(shù)組,如下:

圖一 頁(yè)面一的內(nèi)容
前臺(tái)HTML代碼:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>AJAX實(shí)現(xiàn)分頁(yè)、</title>
<script src="ajax.js"></script>
<script>
window.onload=function ()
{
var oUl=document.getElementById('ul1');
var aBtn=document.getElementsByTagName('a');
var i=0;
for(i=0;i<aBtn.length;i++)
{
//給每一個(gè)按鈕附一個(gè)初值索引
aBtn[i].index=i;
aBtn[i].onclick=function ()
{
//調(diào)用AJAX函數(shù)
ajax('page'+(this.index+1)+'.txt', function (str){
//獲得其中的數(shù)據(jù)
var aData=eval(str);
oUl.innerHTML='';
for(i=0;i<aData.length;i++)
{
var oLi=document.createElement('li');
oLi.innerHTML='<strong>'+aData[i].user+'</strong><i>'+aData[i].pass+'</i>';
oUl.appendChild(oLi);
}
});
};
}
};
</script>
</head>
<body>
<ul id="ul1">
</ul>
<a href="javascript:;">1</a>
<a href="javascript:;">2</a>
<a href="javascript:;">3</a>
</body>
</html>
封裝的AJAX ,JavaScript代碼:
/*
AJAX封裝函數(shù)
url:系統(tǒng)要讀取文件的地址
fnSucc:一個(gè)函數(shù),文件取過(guò)來(lái),加載完會(huì)調(diào)用
*/
function ajax(url, fnSucc, fnFaild)
{
//1.創(chuàng)建Ajax對(duì)象
var oAjax=null;
if(window.XMLHttpRequest)
{
oAjax=new XMLHttpRequest();
}
else
{
oAjax=new ActiveXObject("Microsoft.XMLHTTP");
}
//2.連接服務(wù)器
oAjax.open('GET', url, true);
//3.發(fā)送請(qǐng)求
oAjax.send();
//4.接收服務(wù)器的返回
oAjax.onreadystatechange=function ()
{
if(oAjax.readyState==4) //完成
{
if(oAjax.status==200) //成功
{
fnSucc(oAjax.responseText);
}
else
{
if(fnFaild)
fnFaild(oAjax.status);
}
}
};
}
最終實(shí)現(xiàn)效果:
圖二 展示效果
二、小結(jié)
AJAX這個(gè)還是要多多嘗試的,還要多多的練習(xí)。分頁(yè)是很好的想法,可以提高訪問(wèn)的速度,很好的方法,以后還會(huì)更好的給大家?guī)?lái)收獲。
- Javascript vue.js表格分頁(yè),ajax異步加載數(shù)據(jù)
- vue.js 表格分頁(yè)ajax 異步加載數(shù)據(jù)
- php+ajax實(shí)現(xiàn)無(wú)刷新數(shù)據(jù)分頁(yè)的辦法
- jQuery+Ajax+PHP+Mysql實(shí)現(xiàn)分頁(yè)顯示數(shù)據(jù)實(shí)例講解
- JQuery+Ajax實(shí)現(xiàn)數(shù)據(jù)查詢、排序和分頁(yè)功能
- C#基于數(shù)據(jù)庫(kù)存儲(chǔ)過(guò)程的AJAX分頁(yè)實(shí)例
- Ajax讀取數(shù)據(jù)之分頁(yè)顯示篇實(shí)現(xiàn)代碼
- AspNetAjaxPager,Asp.Net通用無(wú)刷新Ajax分頁(yè)控件,支持多樣式多數(shù)據(jù)綁定
- xml分頁(yè)+ajax請(qǐng)求數(shù)據(jù)源+dom取結(jié)果實(shí)例代碼
- ajax實(shí)現(xiàn)數(shù)據(jù)分頁(yè)查詢
相關(guān)文章
AJAX避免用戶重復(fù)提交請(qǐng)求實(shí)現(xiàn)方案
為了避免因某些原因用戶同時(shí)多次點(diǎn)擊按鈕,提交重復(fù)的請(qǐng)求,我們需要禁用請(qǐng)求提交按鈕,接下來(lái)與大家一起分享下實(shí)現(xiàn)方法2013-04-04
空格或者空白字符導(dǎo)致$.ajax()報(bào)parseerror錯(cuò)誤小結(jié)
這篇文章主要介紹了空格或者空白字符導(dǎo)致$.ajax()報(bào)parseerror錯(cuò)誤,需要的朋友可以參考下2014-04-04
Ajax實(shí)現(xiàn)無(wú)刷新三聯(lián)動(dòng)下拉框
Ajax實(shí)現(xiàn)無(wú)刷新三聯(lián)動(dòng)下拉框...2007-04-04
基于Ajax技術(shù)實(shí)現(xiàn)考試倒計(jì)時(shí)并自動(dòng)提交試卷
這篇文章主要介紹了基于Ajax技術(shù)實(shí)現(xiàn)考試倒計(jì)時(shí)并自動(dòng)提交試卷 的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-06-06
談?wù)凙jax原理實(shí)現(xiàn)過(guò)程
Asynchronous javascript and xml(ajax),實(shí)現(xiàn)了客戶端與服務(wù)器進(jìn)行數(shù)據(jù)交流過(guò)程。使用技術(shù)的好處是:不用頁(yè)面刷新,并且在等待頁(yè)面?zhèn)鬏敂?shù)據(jù)的同時(shí)可以進(jìn)行其他操作2015-11-11
用ajax實(shí)現(xiàn)預(yù)覽鏈接可以看到鏈接的內(nèi)容
用CSS設(shè)置預(yù)覽彈出窗口的樣式、用JavaScript進(jìn)行服務(wù)器請(qǐng)求并且顯示彈出窗口,需要的朋友可以參考下2014-08-08

