2013-03-20 41 views
2

我試圖使用jQuery實現一個簡單的自動完成。但事實證明,這對我來說並不那麼簡單。 我有一個<input type="text" name="test" id="test" />,我嘗試使它自動完成。jQuery如何閱讀和格式化數據使用Ajax自動完成

我想用PHP腳本讀取我的數據庫,該腳本以JSON(或任何您推薦的)返回數據。數據應該是一個單詞列表,沒什麼複雜的([「abc」,「bcd」,「cde」]);沒有額外的類別或事物。

爲此,我閱讀了API here,但我不太熟悉JS和事物中的匿名函數。

我試過到目前爲止:

$(function() { 
    function response(){}; 
    $("#test").autocomplete({ 
     source: function(request, response(data)){ajaxRequest(request, response)} 
    }); 
}); 

但是,這並不工作,我害怕。另外我完全不知道ajaxRequest()必須以什麼格式返回數據。

有人在那裏誰熱心知道這一點,可以幫助我嗎? 我會很高興!

非常感謝! -Yatekii

回答

2

你應該將數據傳遞到響應回調

$("#test").autocomplete({ 
     source: function(request, response) { 
      var term = request.term; 
      $.getJSON("url.php", request, function(data, status, xhr) { 
       response(data); 
      }); 
     } 
    }) 
+0

好了,現在我似乎遲鈍,但我還是不明白這一點.. [JS](HTTP://引擎收錄。 COM/W5sF9qxR) get_data.php的代碼如下所示: [PHP](http://pastebin.com/YzsyDDqP) 到底我做錯了什麼?我沒有遇到錯誤,也沒有任何改變。 – Yatekii 2013-03-20 12:32:05

+0

你有沒有檢查過你的php文件正在返回?無論如何,設置 header('Content-Type:application/json'); 在你的php文件的頂部,你永遠不會知道... – ianaz 2013-03-20 16:09:21

+0

是控制檯返回任何錯誤信息? – ianaz 2013-03-20 16:10:30