1

.postテーブルの各要素に対してjQueryを実行するのに問題があります。以下は私のコードです

HTML

<table>
    <tr>
        <td class="load_img"></td>
        <td class="load_img"></td>
        <td class="load_img"></td>
        <td class="load_img"></td>
        <td class="load_img"></td>
        <td class="load_img"></td>
        <td class="load_img"></td>
        <td class="load_img"></td>
    </tr>
</table>

javascript

   $(document).ready(function(){
    $("td.load_ads").html("<img src='/classified_ads4free/images/icons/ajax-loader.gif'>");
     $("td.load_ads").each(function(){
       var loading=$(this);

       $.post('/classified_ads4free/self_coded_helpers/jpost_get_ads.php',function(data)
       {
          loading.html(data);
       });
     });
    });

.POSTPHPスクリプト

 <?php
   $index=rand(0,10);
   echo $index;
 ?>

したがって、ここで実行しようとしている<td>のは、テーブル内のそれぞれに乱数をロードさせることですが、私の問題は、すべての<td>が同じ乱数をロードすることです。それぞれが0〜10の乱数を持つ代わりに。

(これは単なる説明です。jqueryを使用して乱数を生成できることはわかっていますが、.postこれらのテーブル要素内のロードイメージを取得するためにクエリを実行するため、これを実行する必要があるのは目的です。)

4

4 に答える 4

0

おそらくキャッシュの問題です。
リクエストは常に同じであるため、ブラウザはリクエストを1回だけ送信します。
ソリューションは次のとおりです。

1 /回答をキャッシュしないようにphpスクリプトにhtmlヘッダーを追加します:

header("Cache-Control: no-cache, must-revalidate");  
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");

2/リクエストにランダムなパラメータを追加します

于 2013-01-02T08:23:25.580 に答える
0

キャッシュの問題のようです。

最も簡単な回避策は、URLに乱数を追加することです。

var d = new Date();

$.post( '/classified_ads4free/self_coded_helpers/jpost_get_ads.php'
        + '?_=' + d.getTime()
        + '&_=' + Math.random(),
        function( data ) { /* stuff */ }
);
于 2013-01-02T08:27:43.603 に答える
0

この方法を試しましたか:

   $(document).ready(function(){
    $("td.load_ads").html("<img src='/classified_ads4free/images/icons/ajax-loader.gif'>");
     $.post('/classified_ads4free/self_coded_helpers/jpost_get_ads.php',function(data){
       $.each($("td.load_ads"), function(){
         var loading=$(this);   
         loading.html(data);
       });
     });
  });

I think you should iterate in the success function.

于 2013-01-02T08:45:27.530 に答える
0

助けてくれてありがとう。解決しました。私がしたことは、人工変数インデックスを作成することでした。次に、新しいループで.postを起動するたびにインデックスをインクリメントします。理由はわかりませんが、動作させたい方法で動作します。誰かがそれを必要とする場合に備えて、私の新しいjavascriptコードは次のとおりです。

   $(document).ready(function(){
    $("td.load_ads").each(function(){
        var loading=$(this);
        var index=0;
        $(this).html("<img src='/classified_ads4free/images/icons/ajax-loader.gif'>");
        $.post('/classified_ads4free/self_coded_helpers/jpost_get_ads.php',{index:index},function(data){
            loading.html(data);
            index=index+1;
        });
    });
   }); 
于 2013-01-02T08:52:07.847 に答える