Codeigniter路由器获取参数

Codeigniter router get parameter

我使用 $.getJSON() 来检索表单中几个级联下拉列表的一些数据。 $.getJSON() 自动将参数附加在 URL 类域的末尾。com/controller/method/?parent=5

所以,我声明了我的方法,如 public function method($parent) which works file,但网站的其他部分将使用相同的方法,将其称为域。com/controller/method/5

我尝试在 routes.php 中创建一条如下所示的路线:

$路线['business/regions/?parent=(:num)'] = 'business/regions/';

不过好像不行。难道我做错了什么?可能是 ?混淆了路由器的正则表达式解析器?我是否必须以某种方式转义它才能使其成为 'literal' ? ?

还是router根本不习惯'rewrite'获取参数?我很困惑,因为它应该可以工作但没有,我想知道它有什么问题...

Codeigniter 路由参数用于 url 参数。它在尝试创建 REST 风格的 url 模式时特别有用。

您要做的是从 url 获取 url 查询字符串,Codeigniter 路由器不支持该字符串。为了得到你想要的,你可以做以下事情:

在你的routes.php中:

$route['business/regions'] = 'business/regions';

在你的控制器中 Business.php:

public function regions() {
  //the numeric id you're looking for
  $parent = $this->input->get('parent');
}