我正在开发一个移动网络应用程序,可以列出用户的 friend 并张贴在他们的墙上。我正在使用 PHP SDK 作为 FB 框架。 当 facebook 重定向回原始 URL 时,它会添加一个查询字符串。 这是浏览器地址栏中的返回 URL 的样子:
加载 View 时,JQuery Mobile 会尝试调用它:
“http://mysite.com/friends/_”
它从 Codeigniter 得到 404 因为下划线。因此,我有一个空白页。
我试图通过将 REQUEST_URI 更改为 PATH_INFO 来解决此问题,在 permitted_uri_chars 中启用查询字符串和空字符串,但没有成功。
此外,当我打印出 $_SERVER['REQUEST_URI'] 时,我得到:
/friends?state=11ccb40641675f22adc52aeff2562a0f&code=AQBsK6AipjCoQ96i00mHz5gJe4MqgxQCbRwZQKqHWngO8X54eyb3o1qZS7Hz0O335SVUVSUHT05M4xtC5FbTclFolxD7 Z2rUM5m7zAvIx-TJN-V8aP1L6WtRMsqMWIWclHJZqWqsP9leyAs0H6HxSVvhH50ut8IKv7wowmojNmyW0pQtmUVAsLi0-8WTo-Y_xCg
(在浏览器地址栏中没有尾随的#_)
如果我在浏览器中手动删除末尾的#_,它会再次加载正常。
有什么想法吗?
谢谢。
最佳答案
我在使用 JQM 和 url #hash 时遇到过类似的问题。我能够使用 anchor 标记的 rel 属性:
<a href="http://website.com" rel="external">Link Me</a>
您可能还想尝试 data-ajax="false"
AND/OR 与 JQM changePage() 方法:
$.mobile.changePage(url, {
更改哈希:假
});
其中 url
是字符串形式的路径(相对或绝对)。
至于下划线,这对 CodeIgniter 来说是个大问题,因为任何以 _ 开头的方法都是私有(private)方法。
诚然,我从未使用过 FaceBook PHP API。所以,你的问题可能超出了我的知识范围。
关于php - Codeigniter - Facebook - JQuery Mobile 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7155452/