0

これは私のJavaScriptコードです。

    $(\"img.agree\").click(function()
    {
    var follow_id = $(this).attr(\"id\");
    var user_id = $(\"img.user_id\").attr(\"id\");

    $.ajax({
     type: \"POST\",
     url: \"/sys/follow.php\",
     data: { 'follow_id': + follow_id, 'user_id': + user_id },
     success: function(html){}
    });

    $(\"img.agree\"+follow_id).hide();
    $(\"img.notagree\"+follow_id).css('display','inline-block');
    });

    $(\"img.notagree\").click(function()
    {
    var follow_id = $(this).attr(\"id\");
    var user_id = $(\"img.user_id\").attr(\"id\");

    $.ajax({
     type: \"POST\",
     url: \"/sys/dontfollow.php\",
     data: { 'follow_id': + follow_id, 'user_id': + user_id },
     success: function(html){}
    });

    $(\"img.notagree\"+follow_id).hide();
    $(\"img.agree\"+follow_id).css('display','inline-block');
    });

class='agree$string' または class='notagree$string' の後に一意の文字列を使用して、すべての img タグの数と同じ数のリクエストを送信しないように、ajax リクエスト 1 および特定のものにします。しかし、それはうまくいきません。問題は +follow_id などにあると思います。

4

1 に答える 1

0

これを JavaScript ファイルに移動することを検討しましたか? PHP変数が使用されていないため、PHPでこれを生成しても意味がありません。また、あなたの HTML はこのように見えるかもしれません。

<html>
<img id="1" class="agree1" src"" />
<img id="1" class="notagree1" src"" />
</html>

その場合、同じ ID を持つ異なる要素を持つべきではありません。みたいなことを思います。

<html>
<img id="agree1" class="agree" src"" />
<img id="notagree1" class="notagree"  src"" />
</html>

対応する JS は次のようになります。

$("img.agree").click(function()
    {
        var follow_id = /\d/.exec(this.id); //parse out the number you are looking for with a regex
        var user_id = $("img.user_id").attr("id");

        $.ajax({
             type: "POST",
             url: "/sys/follow.php",
             data: { 'follow_id': + follow_id, 'user_id': + user_id },
             success: function(html){}
        });

        $("#agree"+follow_id).hide();
        $("#notagree"+follow_id).css('display','inline-block');
    });

$("img.notagree").click(function()
    {
        var follow_id = /\d/.exec(this.id); //parse out the number you are looking for with a regex
        var user_id = $("img.user_id").attr("id");

        $.ajax({
             type: "POST",
             url: "/sys/dontfollow.php",
             data: { 'follow_id': + follow_id, 'user_id': + user_id },
             success: function(html){}
        });

        $("#notagree"+follow_id).hide();
        $("#agree"+follow_id).css('display','inline-block');
    });

繰り返しますが、これも PHP から削除することをお勧めします。

于 2012-08-10T14:14:49.117 に答える