2012-04-27 52 views
0

我有http://www.abcd.com/friends.json以下數據(這是不是一個真正的鏈接,但我使用的一個是真正的在我的項目,我可以連接到服務器):在jQuery的自動完成功能的服務器上使用JSON數據

{John, Kyle, Abby, Greer, Rob, Cathy} 

,我有以下腳本自動完成文本字段:

$(function() { 
    $("input#autocomplete").autocomplete({ 
    source: $.getJSON("http://www.abcd.com/friends.json") 
}); 
    }); 

$(function() { 
    var friendList = null; 
    $.getJSON("http://www.abcd.com/friends.json", function(data){ 
    friendList = data; 
    $("#friend").autocomplete({ 
    source: friendList 
    }); 
    }); 
}); 

我做錯了什麼?如果json對象沒有從遠程服務器調用,這兩個代碼都可以工作 感謝您的幫助。

+0

可能是跨域錯誤 – JiDai 2012-04-27 08:22:08

回答

2

您的JSON無效。也許你希望有這樣的事情:

[ 'John', 'Kyle', 'Abby', 'Greer','Rob', 'Cathy' ] 

(如在評論中提到的JiDai)另一個可能的誤差可能是你從比你的網頁服務的另一個服務器獲取JSON。在這種情況下,將您的JSON移動到同一臺服務器或實施一些CORS架構。

+0

謝謝Sirko,矯正取得了結果沒有變化。 – Aamare 2012-04-27 08:40:43

+0

我有正確的服務器地址。只有一臺服務器,不知道JSON如何來自另一臺服務器。 – Aamare 2012-04-27 13:29:40

+0

@Aamare是你的代碼返回任何錯誤,或者是根本沒有自動完成出現? – Sirko 2012-04-27 13:31:24

0

能否請您將「源」與「的serviceUrl」

$(function() { 
    $("input#autocomplete").autocomplete({ 
    serviceUrl: "http://www.abcd.com/friends.json" 
    }); 
});