Ich schickte die AJAX-Anfrage unten an die MediaWiki API, und die folgende Meldung erschien in der Konsole: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'https://preview.cs50.io' is therefore not allowed access.
Ich mache nichts ruchloses, und ich benutze die cloud9 IDE. Ich habe versucht, die headers
Option zu meiner AJAX-Anfrage hinzuzufügen (ein einfaches Objekt mit einem Ursprungsschlüssel, der meine Domäne als Wert hatte), aber die API mochte das auch nicht.Ändern der Anforderungsheader, wenn AJAX-Anfrage von MediaWiki abgelehnt
Die Antworten hier zeigen an, dass der Programmierer aus Sicherheitsgründen nicht in der Lage sein sollte, einen origin
Header zu setzen, was sinnvoll ist. Trotzdem brauche ich Zugriff auf die API. Habe ich einen Rückgriff?
Dies ist das erste Mal, dass ich mit der MediaWiki API und Docs gearbeitet habe.
$(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));
}
});
Versuchen Sie als JSONP-Anfrage – charlietfl
https://www.html5rocks.com/en/tutorials/cors/ –