1
我有一个标签,我访问它们“新闻#p1,新闻#p2,新闻#p3”。但是当我今天分页时,我的网址就像这样“http://local.test.com/home/news#p1/2” 。php CodeIgniter-3.1.3 Tab分页和锚点
控制器
public function news($id)
{
if ($id) {
$this_page=$id;
var_dump($this_page);
}
$page = (int)$this->uri->segment(3);
var_dump($page);
...
}
这是我的页面的HTML。
<ul class="pagination">
<li class="active"><a>1</a></li>
<li><a href="http://local.test.com/home/news#p1/2" data-ci-pagination-page="2">2</a></li>
<li><a href="http://local.test.com/home/news#p1/3" data-ci-pagination-page="3">3</a></li>
<li><a href="http://local.test.com/home/news#p1/2" data-ci-pagination-page="2" rel="next">»</a></li>
<li><a href="http://local.test.com/home/news#p1/5" data-ci-pagination-page="5">尾页</a></li>
</ul>
但是我var_dump($ this_page),它是空的。 当我删除锚点时,它可以跳。 我不知道为什么它不能跳,当添加锚点时。 希望有专业人士帮忙解决。谢谢!
当您打印$ this-> uri-> segment(3)'时,您希望打印“#p1/2”?如果是这种情况,你不能那样做。 '#'之后的URL部分无法通过PHP访问。你可以使用javascript'window.location.hash'来获取它。 – user6838959
谢谢,我明白了。 PHP在“/”中间的“#”时不能跳转。 – Fade
太棒了!你能接受下面的答案,这样可以帮助其他人有类似的问题。 – user6838959