我在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