このエラーは以前このサイトに掲載されていましたが、私はエラーを解決できましたが、私が実際に行ったことについての説明を探しています。だから私は、ウィキペディアビューアを作成していた学習プロジェクトとしてWikipedia API XMLHttpRequestが読み込めません
、そして私がしようとした最初のものは、ウィキペディアのAPIへの呼び出しを作ることだった。
$(document).ready(function() {
var wiki = "https://en.wikipedia.org/w/api.php?action=query&titles=Main%20Page&prop=revisions&rvprop=content&format=json"
$.getJSON(wiki, function(d) {
console.log(d);
});
});
これはXMLHttpRequest cannot load https://en.wikipedia.org/w/api.php?action=query&titles=Main%20Page&prop=revisions&rvprop=content&format=json. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://conn3cted.uk.tn' is therefore not allowed access.
止めることになる、私はGETリクエスト(https://en.wikipedia.org/w/api.php?action=query&titles=Main%20Page&prop=revisions&rvprop=content&format=json&callback=?
)
の終わりに&callback=?
を追加することで表示されるこのエラーを停止することができた。しかし、私は完全にcallback=?
が何をしているかを理解していませんそれは間違っている?
編集:私はJSONPについて尋ね(?私は考えていない)との質問が<script>
タグを使用して中心とされていることではないよとcallback=?
を追加することで、この作品を作った理由は、私が求めています一方、これは、リンクされた質問に異なっています。
ああ、 'callback =? 'はリクエストをAPIが受け入れるJSONPに変換するのですか?これがなければ、クロスドメインなので失敗しますか? Javascriptファイルに追加できるものはありますか? 'callback =? 'パラメータを付けずにこの作業を行うには? – OmisNomis
それは私が言ったことです。あなたが引用したエラーメッセージには、それが書かれています。いいえ、ブラウザがJavaScriptバイパスセキュリティによってJavaScriptが行うことを特に制限するように設計されている場合は、愚かなことになります。 – Quentin
ありがとうございます。ありがとうございます。 Wikipedia APIのドキュメントでは、GETリクエストにこのパラメータを使用して動作させる必要があるとは言いません。何らかの理由でヘッダーを設定し、 'callback =? 'の必要性を否定することが正しいのかどうかはわかりませんでした。 – OmisNomis