2011-11-24 103 views
0

注意到有很多人遇到此問題!沒有任何人似乎幫助我的問題,但!JSON Feed未填充自動完成源

我的JSON飼料http://menu.the-dot.co.uk/getingredients.php?func=json

我有一個小提琴設置在http://jsfiddle.net/OwenMelbz/xgQnQ/用代碼來測試

$(function() { 
$("#food").autocomplete({ 
    source: "http://menu.the-dot.co.uk/getingredients.php?func=json", 
    minLength: 2, 
    dataType: "json", 
    select: function(event, ui) { 
     log(ui.item ? "Selected: " + ui.item.value + " aka " + ui.item.id : "Nothing selected, input was " + this.value); 
    } 
}); 
}); 

這是字面上複製並演示頁粘貼jqueryui.com除了數據類型添加和源添加,以及選擇器更改!

基本上,您使用此提要鍵入框。什麼都沒有出現。你使用source:myArray工作,在任何人看到我的問題與我提供的代碼和演示?

謝謝

+0

不應該JSON輸出是一個數組,而不是一個對象? – jli

+0

你見過這個: http://stackoverflow.com/questions/7365515/how-to-i-get-the-right-json-datatype-for-the-autocomplete-function – lhagemann

+0

這是我第一次接觸json ,所以不知道有什麼區別,jquryui遠程網站的文檔是不存在的。 – Owen

回答

0

從哪裏發送請求。它是同

http://menu.the-dot.co.uk/

如果它不一樣的,你將有cross domain request問題。請使用Chrome開發者工具或螢火蟲檢查迴應。看看是否有錯誤發生。

+0

Yep:'XMLHttpRequest無法加載* trimmed *。起源http://fiddle.jshell.net是不允許的Access-Control-Allow-Origin.'(對於小提琴發佈) – jli

+0

它在同一個域上,我只是用小提琴來顯示我的代碼 – Owen

0

您的JSON格式錯誤。否則它工作正常,jsFiddle

+0

我跑過它一個驗證器,它說它沒問題。據我所知,更新的小提琴不是一個標準的JavaScript數組而不是一個json對象? – Owen

+0

是的,你需要一個數組。你已經做出了一個「對象」,在最慷慨的解釋下,一次又一次地重命名相同的屬性(成分)。 – Sinetheta

0

好吧,我決定,我認爲這個問題沒有任何代碼,但是如何提供JSON的PHP腳本並沒有採取自動完成的預期方式。

所以不是我已經建立了我的數據庫的一個JavaScript數組版本,這是現在http://menu.the-dot.co.uk/getingredients.php?func=js

,幷包含在頁面的頁眉這個腳本,所以它加載數據庫內容轉換成JavaScript數組,然後我使用自動完成讀取數組。服務器的請求也減少了。可愛可愛。

http://menu.the-dot.co.uk/body.html?page=find

正常使用:)其一個IOS web應用所以藉口討厭瀏覽器視圖:)