0

私の質問には悪いコードが含まれています。動作しますが、面倒です。とにかく、実験目的のためだけです。ユーザーがボタンをクリックすると、ボタンに関連付けられたオブジェクト ID が送信されます。スクリプトを ajax 経由で実行すると、mysql テーブルがユーザーのようなデータ (オブジェクト ID) で更新されます。これを行うには、php を使用してオブジェクトをエコーアウトする必要があり、次のように JavaScript 関数が添付されたいいねボタンを使用する必要がありました。

for($i=0;$i<count($tempest);$i++)

{echo "<div class='posts'>
\"".$row2['screen_name']."\" 
<img src=\"".$row2['avatar']."\" width=50 height=50/><br>
 added a new page to the magic title
  \"".$row3['magic_name']."\"
   <br>
<img src=\"".$row1['p_name']."\">
<div id=\"".$i."\">
<a href='Javascript:penda(\"".$wholei."\",\"".$i."\")'> //this is the javascript function
<img name='mpe' src='images/like_outline.png'> //this is the like button
</a></div>
</div>";
}

HTMLをエコーアウトするのはw =ただ間違っていることは知っていますが、私が言ったように、jqueryバージョン1.8.3を使用してajaxリクエストを実行する場合、それはただの楽しみです:

function penda(item, itid) {
    itid = itid + "";

    $.ajax({
        type: "POST",
        url: "kumbatian.php",
        data: {
            penzi: item
        },
        success: function (ful) {
            if (ful == 'win') document.getElementById('win').innerHTML += "YOU WIN!!";
        }
    });
    document.getElementById(itid).innerHTML = "<a href='unlike()'><img src='images/like.png' /></a>";
}

次のエラーが発生します。私はクロムを使用しています:Uncaught RangeError:最大コールスタックサイズを超えました。これは、エコーされている「いいね」の数が関数 penda に添付される数が多かったことを意味していると思います。配列の $tempest は 6 なので、ボタンのようなものは 6 つあります。jquery バージョン 1.9.0 にアップグレードしたとき、そのようなエラーは発生せず、すべて正常に動作したので、これが私の質問です: 1.) バージョン 1.9 で同じエラーが発生するには、上記の形式でエコーする必要があるボタンの数.0? 2.) 私が経験したエラーを回避するために、ボタンのようなものを関数 penda() にアタッチするより良い方法はありますか?

編集: 要求に応じて、HTML 出力は次のとおりです。

<div id="0"><a href="Javasctipt:penda("mna4","0")"> <img name="mpe" src="images/like_outline.png"> </a></div>

  <div id="1"><a href="Javasctipt:penda("mna4","1")"> <img name="mpe" src="images/like_outline.png"> </a></div>

  <div id="2"><a href="Javasctipt:penda("mna4","2")"> <img name="mpe" src="images/like_outline.png"> </a></div>

  <div id="4"><a href="Javasctipt:penda("mna4","4")"> <img name="mpe" src="images/like_outline.png"> </a></div>

  <div id="5"><a href="Javasctipt:penda("mna4","5")"> <img name="mpe" src="images/like_outline.png"> </a></div>

  <div id="6"><a href="Javasctipt:penda("mna4","6")"> <img name="mpe" src="images/like_outline.png"> </a></div>

それでおしまい。

4

1 に答える 1