0
我设置了jQuery用户界面自动完成对CakePHP的网站,觉得我失去了一些东西真的很明显,但它几乎工作...jQuery用户界面自动完成+ CakePHP的
所以简单的jQuery代码是:
$(function() {
$("#SearchQuery").autocomplete({
source: "<?= $session->base ?>/search/complete",
minLength: 2
});
});
这连接到我的搜索控制器,搜索控制器从数据库中返回项目。我能得到的结果回来,如果我不尝试实际看看“术语”(什么已经输入所以,在我的控制器工作的:
function complete(){
$entries = $this->Entry->find('list');
$this->set('entries', $entries);
}
它返回的JSON,并落下从输入像它应该,但它从来没有缩小基于什么已经输入的结果我想,这应该缩小的结果:。
function complete($query = null){
$entries = $this->Entry->find('list',
array('conditions' => array('title LIKE' => '%'.$query.'%')));
$this->set('entries', $entries);
}
但有了这个代码,没有什么是永远回我在做什么错?
PS人谁发现这个问题,并无法将结果返回到自动完成功能,请确保您返回格式正确的JSON结果:http://www.pagebakers.nl/2007/06/05/using-json-in-cakephp-12/
它的面世。使用:$ this-> params ['url'] ['term']; :-) – 2010-09-17 06:55:45
是的。这是我不确定使用'$ this-> params ['url']'和'$ _GET'的好处之一。不知何故,它更安全吗? – bjudson 2010-09-17 13:31:45
如果这只是查询下拉菜单,我不认为安全问题太多。但如果它涉及到你,你可以在采取行动之前用标准php清理这个术语。 – Leo 2010-09-18 09:53:44