1週間前にこの正確なコードが機能していましたが、突然機能しなくなりました。bing の API に変更はないと思います。アカウントを確認しましたが、まだ多くの検索が残っています。私はフィドラーでこの正確な要求を模倣し、それが機能します。これが私のコードです:
function queryBing(query, start, callback) {
var requestStr = "https://api.datamarket.azure.com/Data.ashx/Bing/Search/v1/Image?Query=%27" + query + "%27&$top=50&$format=json&ImageFilters=%27Size%3aMedium%27&Adult=%27Moderate%27";
console.log(requestStr);
console.log(accountKeyEncoded);
jQuery.support.cors = true;
$.ajax({
url: requestStr,
beforeSend: function (xhr) {
xhr.setRequestHeader('Authorization', 'Basic ' + accountKeyEncoded);
},
context: this,
dataType: "json",
type: 'GET',
error: function(e){
e.Message;
},
success: callback
});
}
そして、次のエラーを返します:
OPTIONS https://api.datamarket.azure.com/Data.ashx/Bing/Search/v1/Image?Query=%27te…$top=50&$format=json&ImageFilters=%27Size%3aMedium%27&Adult=%27Moderate%27 Origin http://localhost:81 is not allowed by Access-Control-Allow-Origin. jquery.js:8706
XMLHttpRequest cannot load https://api.datamarket.azure.com/Data.ashx/Bing/Search/v1/Image?Query=%27te…$top=50&$format=json&ImageFilters=%27Size%3aMedium%27&Adult=%27Moderate%27. Origin http://localhost:81 is not allowed by Access-Control-Allow-Origin.
1 週間前に、ローカル コンピューターと Web サイトからクエリを実行できました。アカウント設定を調べてみましたが、ドメインを追加する Bing のどこにも見つかりません。