facebook如何存储表单数据?

时间:2012-09-26 02:44:12

标签: facebook user-interface facebook-like facebook-javascript-sdk

我想知道当有人喜欢帖子或评论时,facebook如何从反馈数据中发送。帖子的id在哪里存储?在Hiddenfield或其他地方?我想要类似的功能,所以想知道别人是怎么做的。

2 个答案:

答案 0 :(得分:0)

它不是HTML表单,而是Javascript / AJAX。当您单击该链接时,它会触发一个Javascript事件(可能是onclick),然后对服务器进行Ajax调用以实际传输信息。

答案 1 :(得分:0)

以下是DOM中的Like按钮的样子(取决于你在网站中的位置,你喜欢的东西的类型等等。

<a data-ft="{&quot;tn&quot;:&quot;&gt;&quot;}" title="Like this comment" id=".reactRoot[25].[1][2][1]{commentXXXXXXXXX}..[1]..[1]..[1].[1][1]">Like</a>

表单是从与.reactRoot类选择器关联的Javascript事件发布的。

当我喜欢在自己的墙上发表评论时,这就是POST的形式。

for(;;);{
    "__ar": 1,
    "payload": {
        "feedbacktargets": [

        ],
        "comments": [

        ],
        "profiles": [

        ],
        "actions": [
            {
                "entidentifier": "445320668840576",
                "likesentences": {
                    "current": {
                        "text": "You like this.",
                        "ranges": [

                        ],
                        "aggregatedranges": [

                        ]
                    },
                    "alternate": {

                    }
                },
                "hasviewerliked": true,
                "likecount": 1,
                "actorid": 100000879403997,
                "clientid": "1348628151510:2909923504",
                "actiontype": "fa-type:like"
            }
        ],
        "commentlists": [

        ],
        "servertime": 1348628145
    },
    "jsmods": {
        "require": [
            [
                "Arbiter",
                "inform",
                [

                ],
                [
                    "UFI\/LikeActive",
                    445320668840576
                ]
            ]
        ]
    }
}