0

ビデオベースのプロジェクトがあります。このプロジェクトでは、いいね機能を実装したいと考えています。つまり、各ビデオには合計のいいね数を含むハイパーリンクがあり、ユーザーがそのハイパーリンクをクリックすると、ハイパーリンクは非表示になり、そのビデオの合計数を含むいいねされたテキストのみが表示されます。

私は Ajax を使用して JavaScript でこのコードを作成しましたが、主な問題は、ユーザーが 5 つのビデオを気に入った場合、1 つのセッションで 5 回の db がヒットすることです。それを実装する効率的な方法はありますか?

<div id="status${video.id}"><a href="javascript:callLike('${video.id}');"> Like-        </a> </div><a id="like1${video.id}" style="color:#ffffff;">${video.likesCount}</a>

function callLike(id)
{

    document.getElementById("like"+id).innerHTML='300';
    var postData = '?Id='+id; 
    var url =protocol+'//'+host+'/xxx/getLike'+postData;     
    // alert("url:"+url);
    if (window.XMLHttpRequest) {
        req = new XMLHttpRequest();
    } else if (window.ActiveXObject) {
        req = new ActiveXObject("Microsoft.XMLHTTP");
    }        
    req.onreadystatechange = likesres;
    req.open("POST", url, true);
    req.send(null); 

}

function likesres()
{
    if (req.readyState == 4) {
        if (req.status == 200) { 
            response = req.responseText;

            document.getElementById("like1"+id).innerHTML=response;
            document.getElementById("status"+id).innerHTML='Liked--';
       }
    }
}
4

1 に答える 1