使用 jQuery Mobile 的 Codeigniter 有时会返回错误的 base_url()

Posted

技术标签:

【中文标题】使用 jQuery Mobile 的 Codeigniter 有时会返回错误的 base_url()【英文标题】:Codeigniter with jQuery Mobile sometimes returns wrong base_url() 【发布时间】:2013-08-30 06:51:51 【问题描述】:

各位程序员朋友们好!

我目前正在开发网站的移动版本。我们最初使用 Codeigniter 作为框架,但对于移动版本,我们也被要求使用购买的使用 jQuery Mobile 的 Mobile Template 包。

问题:

通过转到其他页面(通过锚标签、按钮、ajax 重定向等点击链接)错误随机发生在以下情况:

图片链接失效 锚标签上的 href 链接损坏 转到错误的控制器(找不到页面)

我注意到,即使我添加了每个链接,链接也会更改为当前的完整 URL..

示例:

我在

http://localhost/m.mysite/dashboard

从我所在的那个页面,如果我点击

<a href="<?php echo base_url();?>home/login">

它将转到的 URL 将是

http://localhost/m.mysite/dashboardhome/login <!-- ERROR -->

但如果我再次刷新该页面,我将成功地看到没有损坏的链接

http://localhost/m.mysite/home/login <!-- CORRECT -->

如果我刷新网站,错误就会消失。是不是因为jQuery mobile只做haschange而不刷新每个页面?

我加了&lt;?php echo base_url(); ?&gt;怎么还是这样

application/config/config.php 中,我还确保没有错过将我的基本网址指示为http://localhost/m.mysite/

【问题讨论】:

【参考方案1】:

尝试使用 site_url() 而不是 base_url(),也许会有所帮助。 base_url() 应该没有什么问题,但仍然存在。

另一件事 - 是否可以在您的 .htaccess 文件中进行重定向?您可以从 /dashboard 查看原始链接,只需将鼠标悬停在链接上并查看浏览器状态栏显示的内容。或者去查看源代码。

【讨论】:

嗨!我仍然坚持这一点。你有什么解决办法吗? :(我仍然无法解决这个问题......

以上是关于使用 jQuery Mobile 的 Codeigniter 有时会返回错误的 base_url()的主要内容,如果未能解决你的问题,请参考以下文章

jQuery Mobile中$.mobile.buttonMarkup方法使用具体解释

jquery mobile,结合jquery mobile“页面”和内部页面

jQuery Mobile仿360首页,jQuery Mobile网格布局,jQuery Mobile网址大全,HTML5仿360首页

我可以使用 $.mobile.loadPage() 一次加载我所有的 jQuery Mobile 页面吗?

JQuery mobile

导航Jquery Mobile + PhoneGap