다운로드 횟수 통계 기능 모듈 구현을 위한 PHP 개발(3)

jQuery는 주로 두 가지 작업을 완료합니다. 하나는 Ajax를 통해 비동기적으로 파일 목록을 읽고 표시하는 것입니다. 다른 하나는 사용자의 클릭 이벤트에 응답하고 해당 파일의 다운로드 수를 1개 늘리는 것입니다.

먼저 페이지가 로드된 후 $.ajax()를 통해 백그라운드 filelist.php에 GET 형식의 Ajax 요청을 보냅니다. filelist.php가 성공적으로 응답하면 반환된 json 데이터를 수신하고 $.each를 통해 탐색합니다. () json 데이터 객체를 생성하고, html 문자열을 구성하고, 최종 문자열을 ul.filelist에 추가하여 데모에서 파일 목록을 구성합니다.

이후 파일을 클릭하여 다운로드하면 동적으로 추가된 목록 요소의 클릭 이벤트가 live()를 통해 응답되고 다운로드 횟수가 누적됩니다.

<script type="text/javascript">
$(function(){
   $.ajax({  //异步请求
      type: 'GET',
      url: 'filelist.php',
      dataType: 'json',
      cache: false,
      beforeSend: function(){
         $(".filelist").html("<li class='load'>正在载入...</li>");
      },
      success: function(json){
         if(json){
            var li = '';
            $.each(json,function(index,array){
               li = li + '<li><a href="download.php?id='+array['id']+'">'+array['file']+'<span class="downcount" title="下载次数">'
               +array['downloads']+'</span><span class="download">点击下载</span></a></li>';
              });
            $(".filelist").html(li);
         }
      }
   });
   $('ul.filelist a').live('click',function(){
      var count = $('.downcount',this);
      count.text(parseInt(count.text())+1);
   });
});
</script>

Notes:

ajax의 다양한 매개변수

1.type

Type: String

기본값: "GET"). 요청 방법("POST" 또는 "GET"), 기본값은 "GET"입니다.

2.url

유형: 문자열

기본값: 현재 페이지 주소. 요청을 보낼 주소입니다.

3.dataType

Type: String

서버에서 반환할 것으로 예상되는 데이터 유형입니다. 다음은 "json"입니다. JSON 데이터를 반환합니다.

4.cache

유형: Boolean

기본값: true, dataType이 script이고 jsonp인 경우 기본값은 false입니다. 이 페이지를 캐시하지 않으려면 false로 설정하세요.

5.beforeSend

Type: Function

요청을 보내기 전에 XMLHttpRequest 객체를 수정할 수 있는 함수입니다.

XMLHttpRequest 객체가 유일한 매개변수입니다.

6.success

Type: Function

요청 성공 후 콜백 함수입니다.

live() 메서드는 하나 이상의 이벤트 핸들러를 선택한 요소에 연결하고 이러한 이벤트가 발생할 때 실행할 함수를 지정합니다.

사실 이 글을 읽고 나면 이것은 우리가 일반적으로 적용하는 Ajax 사례입니다. 물론 다운로드를 달성하기 위해 PHP와 결합한 지식도 있습니다.

jQuery 및 ajax 지식을 더 배우고 싶다면 www.php.cn에서 관련 튜토리얼을 참조하세요.

지속적인 학습
||
<script type="text/javascript"> $(function(){ $.ajax({ //异步请求 type: 'GET', url: 'filelist.php', dataType: 'json', cache: false, beforeSend: function(){ $(".filelist").html("<li class='load'>正在载入...</li>"); }, success: function(json){ if(json){ var li = ''; $.each(json,function(index,array){ li = li + '<li><a href="download.php?id='+array['id']+'">'+array['file']+'<span class="downcount" title="下载次数">' +array['downloads']+'</span><span class="download">点击下载</span></a></li>'; }); $(".filelist").html(li); } } }); $('ul.filelist a').live('click',function(){ var count = $('.downcount',this); count.text( parseInt(count.text())+1); }); }); </script>
  • 코스 추천
  • 코스웨어 다운로드
현재 코스웨어를 다운로드할 수 없습니다. 현재 직원들이 정리하고 있습니다. 앞으로도 본 강좌에 많은 관심 부탁드립니다~