0

私はFacebookのタップアプリに取り組んでいます。アプリでユーザーがアイテム ページを選択し、そこでアイテムに関するコメントを書き込むことができます。コメントを書いた後、Facebook 共有ダイアログを開くボタンをクリックすると、ユーザー コメントがダイアログ ボックスに表示されます。

私が達成したいのは、ユーザーが共有をクリックしたときにコメントをデータベースに挿入し、キャンセルをクリックしても何も起こらないことです。

ダイアログを開くために使用する関数は次のとおりです。

function FacebookPostToWall()
    {
    var comment = document.getElementById('comment').value;;
    FB.ui({
        method: 'feed',  
        link: 'http://linkfortheitem.com',
        name: "Name of the item",
        caption: "Caption for the item",
        description: '' + comment,
        picture: '',
        message: ''
        },
        function(response){
            if(response && response.post_id) {
                alert('user has shared');
            }else {
                alert('user has not shared');
            }       
    });
    }

だから私の質問は、コールバック関数内のデータベースにコメントを挿入する私のphp関数を呼び出す方法はありますか?

4

1 に答える 1

0

ajaxを使用して、パラメーターを取得できる php スクリプトにコメントを送信できます$_POST['comment'](または、パラメーターを呼び出すことを決めたものは何でも)。普通の古い JavaScript を使用している場合、最初の例は、コメント変数を使用して ajax リクエストを送信するために使用するものを示しています。途方もなく簡単な 2 番目の例では、 jQueryを使用していますが、これは間違いなく学習する価値があります。これらは両方とも、スクリプトの直後 (または置換)alert('user has shared');に配置されるため、Facebook のコメントが正常に投稿された場​​合にのみ呼び出しが送信されます。

これがあなたが探していたものであるかどうか、また質問がある場合はお知らせください:)

JavaScript の例

var xmlhttp;
if (window.XMLHttpRequest)
{
    // code for IE7+, Firefox, Chrome, Opera, Safari
    xmlhttp=new XMLHttpRequest();
}
else
{
    // code for IE6, IE5
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function() {
        if (xmlhttp.readyState==4 && xmlhttp.status==200)
        {
            alert('Comment sent to PHP, and the response is: '+xmlhttp.responseText);
        }
    });
xmlhttp.open("POST","yourphpscript.php",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("comment="+comment);

jQuery の例

$.post('yourphpscript.php', { 'comment': comment }, function(response) {
        alert('Comment sent to PHP, and the response is: '+response);
    });
于 2013-05-29T18:53:21.977 に答える