オートコンプリートプラグインに問題があります。jquery pluginオートコンプリート - 結果が表示されない
var autocomplete = {
cache: {},
xhr: {}
};
$('#header .search input[type="text"]').autocomplete({
minLength : 2,
source: function (request,response) {
var q = request.term;
if(q in autocomplete.cache) {
response(autocomplete.cache[q]);
return false;
} else {
autocomplete.hxr = $.getJSON("/search/autocomplete/nous?ajax=1&q="+q,function(data, status, xhr) {
autocomplete.cache[q] = data;
//if(autocomplete.xhr === xhr) {
response(data);
//}
});
return true;
}
}
});
私は入力に何かを書いている(「こんにちは」この場合には)、私はそのは、JSON配列を返すWeb開発者ツールで見ることができます:ここに私のコードです。したがって、要求が完了したときに有効な応答が得られます。
0: "hello kitty"
1: "hello dolly and frieda"
2: "hello ass"
3: "hello there"
4: "hello do you make"
ajaxリクエストを実行していますが、結果がプルダウンメニューにプッシュされていないため、空です。どんな助けもありがとう!
ありがとうございます!
これは誤植ですか? 'autocomplete.hxr' –
ソース関数内でtrueまたはfalseを返す目的は何ですか?これは文書化されていないようです。 –
私は実際に他の人のコードをデバッグしようとしています。その人はここにいなくなりました...しかし、冗長な要求を避けるためにキャッシュを実装するのです。 – Lelly