私のウェブサイトには、ユーザーがテキストボックスに「テキスト」を入力できるという要件があり、ドロップダウンにいくつかの検索候補を表示する必要があります。Bing Searchアカウントにサインアップし、アカウントキーを取得しました。しかし、Jqueryを使用してこの機能を実装する方法のサンプルコードを見ることができません。
私のWebサイトはAsp.NetMVCで記述されており、誰かがサンプルコードを指すことができれば素晴らしいと思います。
ありがとう !
http://api.bing.net/xml.aspx?Appid=<AppID>&sources=spell&query=cofee
ソース: http: //www.bing.com/developers/s/APIBasics.html
あなたがする必要があるのは、XHR(POST)を介してREST APIリクエストを投稿し、データをテキストとして取得することです。JSON.parse()を使用して応答を解析できます。
私は6月に、自分のニーズに合わせてこれを行うための簡単なライブラリを作成しました。jquery-bingsearch(GitHubのソースとWebページ)です。あなたはおそらくすでにあなたの問題を解決していると思いますが、私はこれを将来のグーグルジュースのためにここに残したいと思いました。
個人のWebページで使用しています。
このページの手順1に従って、アプリキーを取得します。
<script type="text/javascript" src="js/jquery.bingsearch-min.js"></script>
注:、、、の少なくとも1つを渡すbeforeSearchResults
必要
があります。そうしないと、プラグインは何もしません(結果を返すことができるものがないためです。これは、以下の必須フィールドに追加されます。afterSearchResults
searchResultInterator
$.bingSearch({
// Required: query text
query: 'query text here',
// Required (unless you use urlBase) by Bing Search API
appKey: 'Put your Windows Azure Marketplace Bing Search API Primary Account Key here'
// Optional (defaults to the Bing Search API Web Results Query).
// Additional information: This feature allows you to proxy through a server-side
// script in order to hide your API key, which is exposed to the
// world if you set it client-side in appKey. An example PHP
// script is included (searchproxy.php).
urlBase: 'searchproxy.php',
// Optional (defaults to 1): Page Number
pageNumber: parseInt($('#pageNumber').val()),
// Optional (defaults to 10): Page Size
pageSize: 10,
// Optional (defaults to null): Limit to site. Shortcut to adding "site:example.org " to query
limitToSite: 'example.org',
// Optional (defaults to false): Print console logging information about search results
debug: false,
// Optional: Function is called after search results are retrieved, but before the interator is called
beforeSearchResults: function(data) {
// Use data.hasMore, data.resultBatchCount
},
// Optional: Function is called once per result in the current batch
searchResultIterator: function(data) {
// Use data.ID, data.Title, data.Description, data.Url, data.DisplayUrl, data.Metadata.Type (check for undefined)
},
// Optional: Function is called after search results are retrieved and after all instances of the interator are called
afterSearchResults: function(data) {
// Use data.hasMore, data.resultBatchCount
},
// Optional: Called when there is an error retrieving results
fail: function(data) {
// data contains an error message
}
});