首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否有可能在提交帖子请求到Facebook图表后停止重定向?

是否有可能在提交帖子请求到Facebook图表后停止重定向?
EN

Stack Overflow用户
提问于 2013-04-08 21:46:22
回答 1查看 223关注 0票数 0

快速背景:我已经创建了一个基本的Facebook应用程序,这样用户就可以“喜欢”Facebook之外网站上的帖子。用户身份验证,使用他们的access_token重定向,由一些JS收集并通过隐藏字段插入表单,然后传递给POST请求。(不一定相关,但我也使用一些JS在用户从Facebook重定向到网站后自动提交“like”。)

在发送HTTP请求(并且成功)之后,用户被重定向到响应页面,只呈现屏幕上打印的"true“。有办法阻止这种重定向吗?我已经设置了一些JS,以便在表单提交后交换一些div内容,但我似乎无法阻止它们被指向别处。

提前谢谢你的任何想法。

HTML摘录

代码语言:javascript
复制
    <!-- *Authentication Section* -->
    <div id="submit_like">
      <form>
       <a id="facebook-authentication" href="https://graph.facebook.com/oauth/authorize?type=user_agent&client_id=[MY_APP_ID]&redirect_uri=[MY_POST-AUTHORIZATION_REDIRECT_URL]&scope=offline_access,publish_stream">
       <div id="facebook-authentication-button">
       START THE VOTE!
       </div>
       </a>
      </form>
    </div>

<!-- After Authentication, this form is submitted -->
<form id="likeform" method="POST" action="https://graph.facebook.com/[FACEBOOK_ID]/likes"  >
  <input id="AuthCode" name="access_token" type="hidden" value="123">
</form>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-08 23:22:49

您可以使用jQuery .post()方法提交表单,而无需任何页面重定向。就你而言:

代码语言:javascript
复制
$.post("https://graph.facebook.com/[FACEBOOK_ID]/likes", $("#likeform").serialize()).done(function(data){

    // redirect to new page or do nothing to stay put.
    alert(data); //Show the returned value

});

.serialize()助手函数接受表单输入,并以URL编码符号创建一个字符串。此字符串作为参数发送,该参数将包含access_token隐藏表单输入。

作为提醒,一定要包含jQuery。

代码语言:javascript
复制
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.js"></script>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15889599

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档