jQueryオートコンプリートの実装が残っています。私はこのチュートリアルを使用しています:http://1300grams.com/2009/08/17/jquery-autocomplete-with-json-jsonp-support-and-overriding-the-default-search-parameter-q/jQueryオートコンプリートはPHPのJSONレスポンスを表示しません
私のjQueryのコードはこれです:
$("#quickSearchQuery").autocomplete("http://mydomain.net/json.php", {
dataType: 'json',
selectFirst: true,
minChars: 2,
max: 8,
parse: function(data) {
var rows = new Array();
data = data.members;
for(var i = 0; i < data.length; i++) {
rows[i] = { id : data[i].id, name : data[i].name, location : data[i].location };
}
return rows;
},
formatItem: function(row, i, n) {
return row.name + ' (' + row.location + ')';
}
});
http://mydomain.net/json.php?q=Albへの呼び出しは、このようなJSONレスポンスを生成します。
{"query":"Alb","members":[{"id":"1","name":"Peter Albert","location":"New York"},{"id":"4","name":"Adalbert Smith","location":"Alabama"},{"id":"42","name":"Albert Einstein","location":"Vienna"}]}
私の問題がある:それはちょうどdoesnの仕事はありません。オートコンプリートが表示されず、要素が作成されません。 チュートリアルのコードを実行すると、すべてが問題なく、都市のオートコンプリートリストが取得されます。しかし、たとえ私がソースURIを変更してもdata.geonames
からdata.members
に(など)、オートコンプライアーは動作を停止します。私が試した
:JSONファイルの私はJSONPとJSONにdataType
を変更しましたが、JSONPが '無効なラベル' エラーが発生します
- を
- は、私はPHPを修正しましたスクリプトのコンテンツタイプを
header("Content-Type: application/json");
- 他のすべてのオートコンプリートを試しましたが、変更はありません。
- 私はスタックオーバフローとWebチュートリアルで回答から見つけたすべての修正を試しました
- geonames.orgからJSONレスポンスをファイルにコピーし、サーバーにアップロードし、このハードコードレスポンスを検索ソースとして使用しました。それでも:(
を示すいかなる自動入力補完は、たぶん、あなたはアイデアを得ていますか?
ありがとう! ジョー
http://mydomain.comに電話するのにどのドメインを使用しますか? – genesis
コンソールエラーはありますか? – calumbrodie
いいえ、JavaScriptのエラーはありません。私は現在localhostからスクリプトを実行しています。 – Joe