問題タブ [bloodhound]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
jquery - jQuery検証プラグインを使用したTwitterブラッドハウンドとの競合
私は twitter のブラッドハウンド提案エンジンを使用しています。以下は私が使用しているコード スニペットです。
上記のコード スニペットで述べたように、Ajax リクエストは起動しません。jQuery 検証プラグインがページに含まれていなければ、正常に動作しています。
この問題を克服するには?
更新:
jQuery 検証プラグインを 1.7 から最新 (1.12) にアップグレードしたところ、問題は修正されましたが、この背後にある理由はわかりません。誰かが正確な理由を知っている場合は、回答を投稿してください。
asynchronous - typeahead/bloodhound で要求ヘッダーを非同期に設定する方法
環境:
- モバイル アプリ (steroids/cordova) の検索フィールドに typeahead/bloodhound を使用しています。
- アプリから API へのすべてのリクエストに署名が必要で、署名が認証ヘッダーに追加されます
ブラッドハウンドが送信する各リクエストは異なり、異なる署名が必要になるため、明らかに ajax 設定でヘッダーを設定しても機能しません。
私の最初の実装では、beforeSend
これを達成するために ajax 設定を使用していました。その関数で署名を計算し、それをリクエスト ヘッダーに追加するだけです。
ただし、これはあまり安全ではなかったため、使用するシークレットと署名の計算を Cordova カスタム プラグインのネイティブ コードに配置してコンパイルすることにしました。防弾ではありませんが、妥当な量のセキュリティです。
Cordova プラグインは非同期であるためbeforeSend
、この場合は役に立たなくなりました。関数は、ヘッダーの署名と設定が完了する前に完了します。
要約すると、問題は次のとおりです。typeahead/bloodhound を使用してこれらのヘッダーを非同期に計算して設定するにはどうすればよいですか?
javascript - Twitter の先行入力ブラッドハウンド トークンが機能しない
トークンが機能しません。'east'、'home'、または 'trap' と入力すると、'Inkoopverenigen' と表示されるはずですが、何が問題なのですか?
json:
]
JavaScript:
html:
html テンプレート:
javascript - Typeahead / Bloodhound で 'Access-Control-Allow-Origin' ヘッダーを設定するには?
REST を使用して情報を取得するオートコンプリート フィールドを統合しようとしています。Typeahead/Bloodhound を使用しています。ドキュメントの例をフォローアップしましたが、これを機能させるためにヘッダーをセットアップする方法がどこにも見つかりません。たとえば、これはコードです:
これは、コンソール ログでサーバーから取得した応答です。
どんな提案でも大歓迎です。
ありがとう!
javascript - Bloodhound リモート フィルターをフィルター内から行われた ajax 呼び出しの結果に設定する
remote
Typeahead.js 0.10.2 の Typeahead オートコンプリートに提案を提供するために、Bloodhound のオプションを使用しています。url
リモートのオプションを使用して単一の ajax リクエストを行うと、すべてが正常に機能します。
オプションを使用しfilter
て候補を操作でき、Typeahead は正しく入力されています。
ただし、(1) ajax リクエストを作成し、(2) 後続のさまざまな ajax リクエストを作成して、応答に関する詳細情報を収集し、ユーザーに表示する前に値をさらに調整するには、Bloodhound インスタンスがremote
必要です。
Remote の ajax リクエストは、ユーザーが入力した内容に基づいて tmdb でテレビ番組を検索します。後続の ajax リクエストは、各テレビ番組の結果に関するより多くの情報を収集するため、ユーザーにより良いオートコンプリートの提案を提供できます。
私のフィルター関数は現在、これらの後続の ajax リクエストを作成し、提案を適切に調整して、オブジェクトの配列を構築しています。
問題は、フィルター関数がその配列を Bloodhound に返す方法です。deffereds
現状では、関数と関数を使用してみましたがsetTimeout
(不慣れですが、間違いありません)、オートコンプリートの提案に対して得られるのは「未定義」です。
私はSOを広範囲に検索しましたが、リクエストが完了する前に返されることが多いため、ajaxリクエストの結果を単純に返すことはできないことを認識しています。
私が知っている通常の解決策は、ajax 応答をコールバックにフィードすることですが、Bloodhound が必要とするように、コールバックがフィルター関数から配列を返すのにどのように役立つかわかりません。
私は jQuery と Coffeescript を使用していますが、以下は jQuery と Javascript を使用したコードのスケルトンです。ご指導いただきありがとうございます。
typeahead - typeahead、bloodhound : リモートは機能しますが、プリフェッチはできません
プリフェッチを使用したいのですが、動作させることができません! これが私のコードです:
うまくいきません。
プリフェッチの代わりにリモートを使用すると動作します!
理解できない。
誰でも私を助けることができますか?