【问题标题】:Debugging cross domain POST request from Facebook canvas调试来自 Facebook 画布的跨域 POST 请求
【发布时间】:2014-10-14 09:13:04
【问题描述】:

作为一名网络开发人员,我还很陌生。 我有一个从 Facebook Canvas 应用程序(属于第三方服务)发布到我服务器上的文件的表单。然后将响应放入 iframe 中:

  <iframe style="width: 0px; height: 0px;" name='theiframe' src='...'> </iframe>
<form  style="display: none;" id='mandrill_form' action="https://www.mysite.com/myfile.php" method="POST" target='theiframe'>
 <input id='mandrillSend' type="text" name="email"><br>
  <input id='nameSend' type="text" name="user"><br>
  <input id='addressSend' type="text" name="address"><br>
  <input id='zipSend' type="text" name="zip"><br>
   <input id='citySend' type="text" name="city"><br>
  <textarea id='other' type="text" name="other"> </textarea><br> 
  <input id='premieInfo' type="text" name="premieInfo"><br>
  <input  id='mandrillTemplate' type="text" name="template"><br>
  <input id='mandrillSubmit' type="submit" value="Submit">
</form>

对于大多数用户来说一切都很好,但 7% 的帖子从未到达 myfile.php。 (我跟踪所有用户点击,以及画布页面上带有第三方 Facebook 插件的浏览器以及我的服务器上的日志文件)。它似乎与特定浏览器没有任何关系。

我正在使用 jQuery .submit() 函数来发送表单。

我的问题是: 我应该如何继续调试以找出导致跨域 POST 请求丢失 7% 的原因?

【问题讨论】:

  • 我看不出提交普通表单与 CORS 标头有什么关系……而且我不知道现在实际涉及多少 iframe。好的,来自 FB 的一个,您的应用程序被加载到其中。然后会发生什么?请更具体地描述发生的事情、地点和顺序。
  • 你说得对,我应该尝试更具体一些。我的主要问题是我不明白为什么它一直不起作用。 1. 用户从 Facebook 画布应用 (iframe) 中发布表单。数据从那里传输到我的服务器(在其他域上)并返回。 2. 结果显示在位于 FB iframe 内的第二个 iframe 中。我只是不明白为什么它不能 100% 工作。

标签: php jquery facebook debugging


【解决方案1】:

像这样失去“流量”是很正常的。 您可以在广告公司中看到它。他们几乎每次都会损失 10% 的流量。 但这就是互联网的运作方式。你就是不能全部抓到。

【讨论】:

    猜你喜欢
    • 2012-04-15
    • 1970-01-01
    • 2011-08-19
    • 2017-02-06
    • 2013-03-12
    • 2012-10-24
    • 2018-03-13
    • 2019-10-11
    • 2013-01-10
    相关资源
    最近更新 更多