php - Codeigniter - Facebook - JQuery Mobile 问题

标签 php javascript codeigniter jquery-mobile facebook-php-sdk

我正在开发一个移动网络应用程序,可以列出用户的 friend 并张贴在他们的墙上。我正在使用 PHP SDK 作为 FB 框架。 当 facebook 重定向回原始 URL 时,它会添加一个查询字符串。 这是浏览器地址栏中的返回 URL 的样子:

http://mysyte.com/friends?state=11ccb40641675f22adc52aeff2562a0f&code=AQBsK6AipjCoQ96i00mHz5gJe4MqgxQCbRwZQKqHWngO8X54eyb3o1qZS7Hz0O335SVUVSUHT05M4xtC5FbTclFolxD7Z2rUM5m7zAvIx-TJN-V8aP1L6WtRMsqMWIWclHJZqWqsP9leyAs0H6HxSVvhH50ut8IKv7wowmojNmyW0pQtmUVAsLi0-8WTo-Y_xCg#_

加载 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/

相关文章:

javascript - 使用 require.js 时未加载 jquery

javascript - 无法让 jQuery 循环插件工作 为什么?

PHP - 在每行末尾写入文件

PHP preg_match UUID v4

javascript - 带有 javascript 操作列的 Magento adminhtml 网格

javascript - 如何在 JavaScript 中获取 td id

php - CodeIgniter View 中应包含多少代码?

php - 在 codeigniter 中连接表

javascript - 在单选按钮的默认检查中,我想默认显示表单

php - OOP PHP 查询 mysql 时出错