ダウンロード数統計機能モジュールを実装するPHP開発(3)

jQuery は主に 2 つのタスクを実行します。1 つは、Ajax を介してファイルのリストを非同期に読み取って表示することです。もう 1 つは、ユーザーのクリック イベントに応答して、対応するファイルのダウンロード数を 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>

注意事項:

ajax のさまざまなパラメーター

1.type

タイプ: String

デフォルト値: "GET")。リクエストメソッド (「POST」または「GET」)、デフォルトは「GET」です。

2.url

タイプ: String

デフォルト値: 現在のページのアドレス。リクエストの送信先のアドレス。

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() メソッドは、選択した要素に 1 つ以上のイベント ハンドラーをアタッチし、これらのイベントの発生時に実行する関数を指定します。

最後に、この記事を読んだ後、これは私たちが通常適用する 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>
  • おすすめコース
  • コースウェアのダウンロード
現時点ではコースウェアはダウンロードできません。現在スタッフが整理中です。今後もこのコースにもっと注目してください〜