Ich versuche, ein Rest api Anfrage realla https://realla.co/api/#/ von localhost zu machen, ich einen API-Schlüssel haben und die Anforderung über PHP machen können, aber haben ein Problem mit Ajax:jQuery/Ajax Erholung api Anfrage
var URL = "https://realla.co/api/v1/listings/search";
var usr = 'api';
var psw = 'hidden';
$.ajax({
type: "POST",
dataType: "json",
contentType: "application/json",
url: URL,
crossDomain: true,
beforeSend: function(xhr) {
xhr.setRequestHeader("Authorization", "Basic " + btoa(usr + ":" + psw))
},
success: function(result) {
console.log('success');
},
error: function(req, status, err) {
console.log('Something went wrong', status, err);
}
});
Gibt die Fehler
XMLHttpRequest cannot load https://realla.co/api/v1/listings/search. Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://dw.dev' is therefore not allowed access. The response had HTTP status code 403.
ich habe versucht, das Problem mit https://chrome.google.com/webstore/detail/allow-control-allow-origi/nlfbmbojpeacfghkpbjhddihlkkiljbi?hl=en zu beheben, aber immer noch die gleiche Meldung.
Ich habe die folgende Funktion (Laufwordpress) hinzugefügt:
/*
* Modify HTTP header
*/
function new_headers($headers) {
if (!is_admin()) {
$headers['Access-Control-Allow-Origin'] = '*';
$headers['Access-Control-Allow-Methods'] = 'GET, POST, PATCH, PUT, DELETE, OPTIONS';
$headers['Access-Control-Allow-Headers'] = 'Origin, Content-Type, X-Auth-Token';
}
return $headers;
}
add_filter('wp_headers', 'new_headers');
ich andere APIs versucht haben (Facebook) und das funktioniert, aber ich frage mich, ob ich etwas damit fehlt.
Die Dokumentation für Realla ist ziemlich dünn, aber ich frage mich, ob ich etwas falsch mache.
Dank
Fügen Sie 'Access-Control-Allow-Origin' hinzu: * in Ihrem Backend-Code. – Subhajit