我在加载ajax的部分视图时遇到了一些麻烦。我使用了这个架构:
配置/ constants.php
define('IS_AJAX', isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest');
然后每个需要由ajax加载的控制器函数包含:
if(IS_AJAX){
//action when AJAX request
$this->load->view("partial_view", $data);
}else{
//action when user open page directly in browser
$this->load->view('full_view',$data);
}
例如当我在主页(http://example.com
)并且我想使用示例控制器和编辑操作时。
现在,如果IS_AJAX为true,我的内容已正确加载,但浏览器中的网址仍为http://example.com
。
否则如果IS_AJAX为false则没有问题。我有网址http://example.com/example/edit/params
如何将AJAX请求的网址更改为标准CI网址?
P.S如果不需要,我不想使用哈希:/
提前致谢。
答案 0 :(得分:0)
抱歉.. 您可以使用它来更改URL而不加载页面:
history.pushState({},null,'http://example-new-url.com');