0

我正在尝试建立一个站点,以便用户可以在 HTML 表单中输入评论,然后在按下提交按钮后,该评论将被放置在该人的墙上。

我已经设置了 publish_stream 权限,并且可以使用此处显示的方法轻松发布到流:示例

但是,如果您使用 HTML 表单并按下提交,页面将重新加载并完成令牌获取过程。这会导致一些重新路由,从而导致 $_REQUEST 中的数据丢失。

有没有办法做到这一点?

谢谢。

4

1 回答 1

0

是的,亲爱的,您可以使用 java 脚本来使用它。

<textarea id="status" cols="50" rows="5">在此处输入您的状态,然后单击“使用旧版 Api 调用设置状态”</textarea>
<br />
<a href="#" onClick="setStatus(); return false;">使用JSDK调用设置状态</a>
<script type="text/javascript">
            window.fbAsyncInit = function() {
                FB.init({appId: '你的APPI ID', status: true, cookie: true, xfbml: true});

                /* 所有注册的事件 */
                FB.Event.subscribe('auth.login', function(response) {
                    // 对响应做一些事情
                    //登录();
                });
                FB.Event.subscribe('auth.logout', function(response) {
                    // 对响应做一些事情
                    //登出();
                });

                FB.getLoginStatus(函数(响应){
                    如果(响应。会话){
                        // 登录并连接的用户,你认识的人
                       // 登录();
                    }
                });
            };
            (功能() {
                var e = document.createElement('script');
                e.type = '文本/javascript';
                e.src = document.location.protocol +
                    '//connect.facebook.net/en_US/all.js';
                e.async = true;
                document.getElementById('fb-root').appendChild(e);
            }());
函数 setStatus(){
                status1 = document.getElementById('status').value;
                FB.api(
                  {
                    方法:'status.set',
                    状态:状态1
                  },
                  功能(响应){
                    如果(响应 == 0){
                        alert('您的 facebook 状态未更新。授予状态更新权限。');
                    }
                    别的{
                        alert('您的脸书状态已更新');
                    }
                  }
                );
            }
        </脚本>
于 2011-03-16T05:27:28.137 回答