Yii urlManager and jquery ajax GET request


Yii urlManager and jquery ajax GET request

我在urlmanager中使用seourlmanager class。
有一个带有 ajax 自动完成的字段使用多完成扩展。
该扩展发送 ajax 请求,如"controller/action?term=searchterm"。
问题是url管理器(seourlmanager)无法处理get查询。
在网址管理器中,我有以下规则:

'controller/action/<term:.*>'=>'controller/action' 

如何调整网址管理器以同时与多完成扩展和 seourlmanager 一起使用?

尝试在配置文件中添加一个通用规则,如下所示:

'<controller:'w+>/<action:'w+>' => '<controller>/<action>',

这将匹配具有或不具有其他查询参数的典型controller/action格式。

由于自动完成扩展使用 ?term=searchterm ,因此不需要在规则中定义?term

/controller/action?term=searchterm - CORRECT
/controller/action/term - INCORRECT

我更改了 seourlmanager 类以在最后添加查询字符串:

protected $_query;  
public function init() {  
  ..  
  $this -> _query = (!empty($urlParts['query'])) ? $urlParts['query'] : '';  
  ..  
}  
protected function _connectUrlParts() {
  $scheme = $this -> _scheme . '://';
  $port = (!empty($this -> _port)) ? ':' . $this -> _port : '';
  if($this->_query=='')
    return $scheme . $this -> _host . $port . $this -> _path;
  else
    return $scheme . $this -> _host . $port . $this -> _path.'?'.$this->_query;
}