下記のAJAXリクエストをMediaWiki APIに送信し、コンソールに次のメッセージが表示されました:No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'https://preview.cs50.io' is therefore not allowed access.
私は何も悪いことはしていません。私はheaders
オプションを自分のAJAXリクエスト(私のドメインを値として持っていた起点キーを持つ単純なオブジェクト)に追加しようとしましたが、APIはそれを好きではありませんでした。MediaWikiでAJAXリクエストが拒否されたときのリクエストヘッダーの変更
ここでの回答は、セキュリティ上の理由からプログラマがorigin
ヘッダーを設定できないべきことを示しています。これは意味があります。それでも、私はAPIにアクセスする必要があります。私は頼りにしていますか?
私はMediaWiki APIとドキュメントで初めて作業しました。
$(document).ready(function() {
// future search parameter provided by user
var search = "french";
// AJAX request options for MediaWiki API
var ajaxOptions = {
crossDomain: true,
dataType: "json",
url: "https://en.wikipedia.org/w/api.php",
method: "GET",
data: {
action:"query",
list:"search",
srsearch:search,
// titlesnippet may be more desirable, try both
srprop:"snippet",
srlimit:"50",
pwpprop:"title",
// may not be necessary given use of srlimit above, try and see
pwplimit:"50",
format:"json"
}
};
// AJAX request
$.ajax(ajaxOptions).done(updateDOM);
function updateDOM (json) {
$("#message").html(JSON.stringify(json));
}
});
jsonpリクエストとして試す – charlietfl
https://www.html5rocks.com/en/tutorials/cors/ –