私が見てきた人々がBloodhound
が自分のコンストラクタでこのようなajax
オブジェクトを含めることによってtypeahead.js
に実行されたAJAX要求の設定を無効にする方法:しかしブラッドハウンドのアヤックス「グローバル」フラグ(Typeahead.js)
var locsData = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.obj.whitespace("name"),
queryTokenizer: Bloodhound.tokenizers.whitespace,
remote: {
url: "/locations/search.json?q=%QUERY",
ajax: {
beforeSend: function(xhr, settings) {
// maybe the 'if' is not necessary, but just to be sure...
if ($(document.activeElement).typeahead != null) {
$(document.activeElement).addClass('loading-text');
}
},
complete: function(xhr, status) {
if ($(document.activeElement).typeahead != null) {
$(document.activeElement).removeClass('loading-text');
}
}
}
},
limit: 100
});
を私はソースを見ていて、最新のバージョン(現時点ではv.0.11.1)でajaxを設定する方法がないことを発見しました。 ajax
フラグglobal
をオフにする必要があるので、サーバーにajaxリクエストを送信するときにロード中のgifをトリガーしませんが、それを行う方法がわかりません。
この両方の方法を試してみてください。運がremote
対象外試さないで、また
var engine = new Bloodhound({
remote: {
url: '<s:url value="%{#typeaheadHwsnUrl}"/>'+'%QUERY%',
wildcard: '%QUERY%',
ajax: {
global: false,
}
},
datumTokenizer: Bloodhound.tokenizers.whitespace('q'),
queryTokenizer: Bloodhound.tokenizers.whitespace
});
と::
var engine = new Bloodhound({
remote: {
url: '<s:url value="%{#typeaheadHwsnUrl}"/>'+'%QUERY%',
wildcard: '%QUERY%',
},
datumTokenizer: Bloodhound.tokenizers.whitespace('q'),
queryTokenizer: Bloodhound.tokenizers.whitespace,
ajax: {
global: false,
}
私はオフにすることができますどのようにあなたは私が道でstruts2
を使用しています、私はURLを指定したことに気づくでしょうこのglobal
のフラグajax
の呼び出しはBloodhound
によって行われますか?
を助けたが、私は今のところ、このオープンのままにして何とか誰かがこの問題に対処するために「正しい」方法を知っていればしかし、あなたの答えに感謝を参照してくださいね! – JorgeGRC