Codeigniter使用ajax和url控件加载视图

时间:2015-08-21 13:17:21

标签: php ajax codeigniter partial-views

我在加载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如果不需要,我不想使用哈希:/

提前致谢。

1 个答案:

答案 0 :(得分:0)

抱歉.. 您可以使用它来更改URL而不加载页面:

history.pushState({},null,'http://example-new-url.com');