>웹 프론트엔드 >JS 튜토리얼 >AJAX는 새로 고치지 않고 데이터 페이징을 구현합니다.

AJAX는 새로 고치지 않고 데이터 페이징을 구현합니다.

php中世界最好的语言
php中世界最好的语言원래의
2018-04-04 16:05:441804검색

이번에는 새로 고치지 않는 데이터 페이징을 구현하는 AJAX를 소개하겠습니다. AJAX가 새로 고치지 않는 데이터 페이징을 구현하는 데 있어 주의 사항은 무엇입니까? 다음은 실제 사례입니다.

저는 이전에 Asp.Net을 사용할 때 GridView 컨트롤을 사용해 본 적이 있습니다. 이 컨트롤에는 자체 페이징 기능이 있지만 여전히 매우 강력합니다. 여기서는 AJAX를 사용하여 새로 고치지 않고 서버에서 직접 데이터 페이지 매김을 가져오는 더욱 강력한 방법을 보여 드리겠습니다.

1. 구현 프로세스

참고: 서버 내에서는 다음 콘텐츠가 사용됩니다.

먼저 서버 경로에 page1.txt, page2.txt, page3.txt 등 여러 파일을 생성합니다.

다음과 같이 각 파일에 배열을 넣습니다.

[{user:'blue',pass:'123'},{user:'aaa',pass:'dsfaa'},{user:'Ares',pass:'12346'}]

그림 1 페이지 1의 콘텐츠

프런트 엔드 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实现分页、</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++)
  {
    //给每一个按钮附一个初值索引
    aBtn[i].index=i;
    aBtn[i].onclick=function ()
    {
      //调用AJAX函数
      ajax(&#39;page&#39;+(this.index+1)+&#39;.txt&#39;, function (str){
        //获得其中的数据
        var aData=eval(str);
        oUl.innerHTML=&#39;&#39;;
        for(i=0;i<aData.length;i++)
        {
          var oLi=document.createElement(&#39;li&#39;);
          oLi.innerHTML=&#39;<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封装函数
url:系统要读取文件的地址
fnSucc:一个函数,文件取过来,加载完会调用
*/
function ajax(url, fnSucc, fnFaild)
{
  //1.创建Ajax对象
  var oAjax=null;
  if(window.XMLHttpRequest)
  {
    oAjax=new XMLHttpRequest();
  }
  else
  {
    oAjax=new ActiveXObject("Microsoft.XMLHTTP");
  }
  //2.连接服务器
  oAjax.open('GET', url, true);
  //3.发送请求
  oAjax.send();
  //4.接收服务器的返回
  oAjax.onreadystatechange=function ()
  {
    if(oAjax.readyState==4) //完成
    {
      if(oAjax.status==200)  //成功
      {
        fnSucc(oAjax.responseText);
      }
      else
      {
        if(fnFaild)
          fnFaild(oAjax.status);
      }
    }
  };
}

최종 효과:

그림 2 디스플레이 효과

2. 요약

AJAX는 여전히 많은 시도와 연습이 필요합니다. 페이지네이션은 좋은 아이디어이며, 접근 속도를 향상시킬 수 있고, 좋은 방법이며, 미래에 모든 사람에게 더 나은 혜택을 가져다 줄 것입니다.

이 기사의 사례를 읽은 후 방법을 마스터했다고 생각합니다. 더 흥미로운 정보를 보려면 PHP 중국어 웹사이트의 다른 관련 기사를 주목하세요!

추천 자료:

새 양식을 열 때 브라우저가 ajax 콜백을 가로채는 것을 방지하는 방법

Ajax에 대한 토론 및 연구

위 내용은 AJAX는 새로 고치지 않고 데이터 페이징을 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.