我有一个Facebook应用程序,用ajax加载一些内容,包括一些用iframe实现的按钮。
虽然一切似乎都没问题,但在我的电脑上工作正常,在我的客户端电脑中它不起作用,而'喜欢'的json响应是:307临时重定向。
起初我认为它一定是防火墙问题所以我建议我的客户端测试另一个有“喜欢”按钮的应用程序。不幸的是,在其他应用程序中一切正常。
令我困惑的是iframe的结构是相同的:
雷:
<iframe scrolling="no" frameborder="0" src="http://www.facebook.com/plugins/like.php?href=http://www.chivastimeforfriends.com/single.php?fb_ref=4f15a6ed73f3a&layout=button_count&show_faces=false&width=150&action=like&font=trebuchet+ms&colorscheme=light&height=21" style="border:none; overflow:hidden; width:150px; height:23px;" allowtransparency="true"><iframe>
其他应用
<iframe scrolling="no" frameborder="0" allowtransparency="true" style="border:none; overflow:hidden; width:150px; height:80px;" src="http://www.facebook.com/plugins/like.php?href=http://www.stolichnaya.gr/stoli/fb/outletitem.php?outid=12&layout=button_count&show_faces=false&width=150&action=like&font=trebuchet+ms&colorscheme=light&height=21"></iframe>
Facebook调试器在我的应用中没有显示任何问题。另一个应用甚至没有元标记。
唯一的区别是,虽然其他应用程序json响应仅在2秒内返回,但在我的应用程序中大约需要13秒。这与问题有关吗?
有什么想法吗? 感谢
答案 0 :(得分:0)
您需要url_encode您发送给Facebook的href。您不能拥有其他?
标志:
...like.php?href=http://www.stolichnaya.gr/stoli/fb/outletitem.php**?**outid=12&...
您可以使用PHP函数url_encode。
http://php.net/manual/en/function.urlencode.php
<?php
echo '<a href="mycgi?foo=', urlencode($userinput), '">';
?>