我在我的网站主页上有一个输入,可以帮助人们搜索我的数据库中的某些东西,但我想要像Facebook搜索栏这样的输入搜索。''ajax search'' 我尝试了一些代码,但没有结果。我用事件密钥在即时搜索。
我的路由器
acme_estm_site_espace_supr_admin_recuperer_donnes_recherche:
path: /chercher
defaults: { _controller: AcmeEstmSiteBundle:Default:recupererdonnesrechercheAction}
这是我的控制者:
$('#search').keyup(function(key) {
var rac = $(this).val();
var data = {
request: rac
};
$.ajax({
type: "POST",
url: "{{ path('acme_estm_site_espace_supr_admin_recuperer_donnes_recherche') }}",
data: data,
success: function(data, dataType) {
alert(data);
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert('Error : ' + errorThrown);
}
})
});
public function recupererdonnesrechercheAction(Request $request){
if($this->getRequest()->isXmlHttpRequest()){
echo "c est une requete ajax";
$data = $request->request->get('request');
echo $data;
}
return new Response();
}
但是当我跑的时候。我有一个警告错误:错误:未找到
请帮帮我 提前谢谢你
答案 0 :(得分:0)
您好,
在您的代码中,我看到您使用Request $request as a parameter
if($this->getRequest()->isXmlHttpRequest()){
最后使用$request->request->get('request');
我认为你应该做点什么
public function recupererdonnesrechercheAction(){
if($this->getRequest()->isXmlHttpRequest()){
echo "c est une requete ajax";
$data = $this->getRequest()->request->get('request');
echo $data;
}
return new Response();
}
关于路线,您应该删除"行动"在您的方法名称
acme_estm_site_espace_supr_admin_recuperer_donnes_recherche:
path: /chercher
defaults: { _controller: AcmeEstmSiteBundle:Default:recupererdonnesrecherche}