我的表单非常简单(文件称为message.php
):
<?php
print_r($_POST);
?>
<form method="post" target="_top" action="<?php echo CANVAS_URL;?>message.php">
<input type="text" name="your_name" />
<input type="hidden" name="signed_request" value="<?php echo $_REQUEST['signed_request'];?>" />
<input type="submit" name="send" />
</form>
我找到了这个问题的一个解决方案 - 使用signed_request
添加到表单隐藏输入 - 我做了但不幸的是我仍然遇到这个问题 - 我无法检索发送的POST数据。
如果我将方法更改为method="get"
,一切都运行良好,但我需要POST中的数据。
任何人都可以帮助我,如何解决这个问题?谢谢!
答案 0 :(得分:2)
试试这个。我不相信你需要在FB canvas aps中使用target
了。表格ID也很好。
<form method="POST" id="my_form" action="message.php">
<input type="text" name="your_name" />
<input type="hidden" value="<?php print $_POST["signed_request"] ?>" name="signed_request" />
<input type="submit" name="submit" />
</form>
答案 1 :(得分:1)
根本不支持POST到Canvas URL(如http://apps.facebook.com/namespace中所述)。 但是为什么要发布到顶部窗口而不是简单地留在iframe中?它更好,因为它不需要重新加载整个页面,只需要重新加载。