-1

私の問題はこのようなものです。例を見てみましょう。ページには 30 個のリンクがあり、各リンクの下に「いいね」ボタンがあります。そして、誰かが「いいね」ボタンをクリックすると、php ファイルへの ajax 投稿リクエストを介してリンクが「いいね」されます。

しかし、jqueryまたはjavascriptを使用して、30行を書くのではなく、(IDまたはリンクの何かを取得することによって)どのリンクが気に入ったかを見つける単一のコードセットを作成し、それをajaxリクエストを介してphpに送信することは可能ですか?いいねされている各リンクの ajax 投稿リクエストの数。ありがとう

4

3 に答える 3

0

私はまっすぐなJavaScriptでこのようにします。ただし、これはテストしていないため、100% 正しいとは限りません。

HTML:

<a href="page-to-be-liked1.html">Link</a>
<div class="like-button" data-likeID="1">Button</div>

<a href="page-to-be-liked2.html">Link</a>
<div class="like-button" data-likeID="2">Button</div>

<a href="page-to-be-liked3.html">Link</a>
<div class="like-button" data-likeID="3">Button</div>

<a href="page-to-be-liked4.html">Link</a>
<div class="like-button" data-likeID="4">Button</div>

JavaScript:

var buttons = document.getElementsByClassName("like-button");
var post_to = '/location-of-php-script.php';

for(var i=0;i<buttons.length;i++){
    buttons[i].addEventListener('click', buttonClick);
}

function buttonClick(event){
    var request = new XMLHttpRequest();
    request.open("POST", post_to, true);
    request.send('likeID='+this.getAttribute('data-likeID'));
}
于 2013-05-08T19:09:15.447 に答える
0

これは、開発中の Web アプリケーションを解決するために私が使用する種類の問題です。data-*@Yatrix が言っていたような属性を使用.data()したり、ボタンにバインドしたりできます。私は2番目の方法を好みます。これらのボタンをテンプレートまたは動的にレンダリングしていると思います。そのため、(ボタンを参照する場所) を使用.data('foo','bar')してこれを取得し、このデータを取得して AJAX 経由で送信できます。これらはこの問題を解決する同じ方法ですが、唯一の違いは、2 番目の方法は誰にも見えないことです。$(this).data('foo')$(this)

于 2013-05-08T18:57:22.597 に答える