我在Symfony2中编写了一些基本的crud应用程序,我想在某个页面上实现某种类型的搜索功能。Searchfuntion在Symfony2中使用ajax调用
这个想法是,我想通过在输入字段中输入一些内容来启动一个搜索查询,该字段将会触发一个ajaxcall(我想不出任何更好的东西)。该ajaxcall的响应必须是一种弹出列表,其中包含可单击项目的弹出列表,这些项目在单击项目时将放置在初始页面的另一个字段中。
我有两个问题: 有没有比ajax更好的方法,我该如何解决'弹出列表'的问题。
二:我可以交AjaxCalls的在Symfony2中使用这种代码:
var data = 'test';
$.ajax({
url: "{{ path('test_oost') }}",
data: { data: data },
method: "post",
success: function(data) {
//some things here
}
但我认为这是一个有点奇怪使用后,我想使用get ..显然,这是行不通的因为我不能找回我的控制器中的数据..
编辑:我忘了后我控制我在哪里处理Ajax调用,这里是代码:
public function testGetAction(Request $request)
{
$data = $request->request->get('data');
$em = $this->getDoctrine()->getManager();
$entity = $em->getRepository('EuropsimProductBundle:SimProfile')->find($data);
return new Response($entity); }
这是窝国王罚款与方法:“后”,但失败时,我尝试使用“得到”。
我也读过关于typeahead,这是非常接近我的意思,事情是我想要一个自定义的小弹出或什么,因为ajax应该返回一个具有多个属性的对象数组必须显示并且可以选择多个项目。您可以将其视为两个步骤,首先启动搜索查询,将您带入某种弹出窗口或您可以选择所需行以便在页面上进一步使用。
在此先感谢! Hicy
你所描述的被称为'autocomplete'或'typeahead'并且有可用于此众多插件。至于GET VS POST,将与你的后端代码并不怎么'$ .ajax'工作要做。它只是做了什么你告诉它做 – charlietfl
我更新我的职务与后端代码 – Hicy