FrazeColder
Lt. Commander
- Registriert
- Okt. 2013
- Beiträge
- 1.721
Moin zusammen,
ich bekomme leider eine ungewöhnliche Fehlermeldung... Ich habe eine Ajax Request geschrieben, der auf einer Subdomain, nennen wir sie mal subdomain.example.com, funktioniert. Dieser Ajax macht einen Request an backend.example.com und dieser funktioniert auch. Hier mal der Code für diesen Request:
Nun möchte ich aber einen Request von der Hauptdomain, also example.com, machen, doch das funktioniert leider nicht. Hier der Request:
Die Fehlermeldung ist Folgende:
Aber in der Fehlermeldung steht ja, dass die Origin bekannt ist. Nämlich example.com, von der ja auch der Request aus funktioniert. Was mich eben wundert ist, dass es von der Subdomain aus funktioniert, aber nicht von der Hauptdomain aus... Wir kann ich das beheben? Hatte jemand schon mal diese Fehler?
Ich arbeite mit einer PHP Laravel 5.5 API und einem CORS Plugin für Laravel, welche Folgenden Einstellungen besitzt:
Ihr seht, 'allowedOrigins' => ['*']... Was denkst/sagt ihr?
MfG und Vielen Dank!
Update:
Die Laravel Cors Library die ich verwende ist:
https://github.com/asm89/stack-cors
ich bekomme leider eine ungewöhnliche Fehlermeldung... Ich habe eine Ajax Request geschrieben, der auf einer Subdomain, nennen wir sie mal subdomain.example.com, funktioniert. Dieser Ajax macht einen Request an backend.example.com und dieser funktioniert auch. Hier mal der Code für diesen Request:
Code:
var ajaxArray = {
"fromDate": from,
"toDate": to,
"table": "no",
"userID": 20
};
console.log(ajaxArray);
jQuery.ajax({
url: ("https://backend.example.com/api/v1/leads/show"),
type: "POST",
data: ajaxArray,
crossDomain: true,
headers : {
"Authorization": "Basic " + btoa("api@example.com" + ":" + "123456"),
"Accept": "application/json"
},
error: function() { alert("No"); },
success: function(result){
alert("Working");
});
}});
Nun möchte ich aber einen Request von der Hauptdomain, also example.com, machen, doch das funktioniert leider nicht. Hier der Request:
Code:
var ajaxArray = {
"fromDate": from,
"toDate": to
};
console.log(ajaxArray);
jQuery.ajax({
url: ("https://backend.example.com/api/v1/leads/showAdmin"),
type: "POST",
data: ajaxArray,
crossDomain: true,
headers : {
"Authorization": "Basic " + btoa("api@example.com" + ":" + "123456"),
"Accept": "application/json"
},
error: function() { alert("Error"); },
success: function(result){
alert("Working");
});
}});
Die Fehlermeldung ist Folgende:
Failed to load https://backend.example.com/api/v1/leads/showAdmin: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'https://example.com' is therefore not allowed access.
Aber in der Fehlermeldung steht ja, dass die Origin bekannt ist. Nämlich example.com, von der ja auch der Request aus funktioniert. Was mich eben wundert ist, dass es von der Subdomain aus funktioniert, aber nicht von der Hauptdomain aus... Wir kann ich das beheben? Hatte jemand schon mal diese Fehler?
Ich arbeite mit einer PHP Laravel 5.5 API und einem CORS Plugin für Laravel, welche Folgenden Einstellungen besitzt:
Code:
<?php
return [
/*
|--------------------------------------------------------------------------
| Laravel CORS
|--------------------------------------------------------------------------
|
| allowedOrigins, allowedHeaders and allowedMethods can be set to array('*')
| to accept any value.
|
*/
'supportsCredentials' => false,
'allowedOrigins' => ['*'],
'allowedOriginsPatterns' => [],
'allowedHeaders' => ['*'],
'allowedMethods' => ['*'],
'exposedHeaders' => [],
'maxAge' => 0,
];
Ihr seht, 'allowedOrigins' => ['*']... Was denkst/sagt ihr?
MfG und Vielen Dank!
Update:
Code:
General:
Request URL:https://backend.example.com/api/v1/leads/showAdmin
Request Method:OPTIONS
Status Code:200
Remote Address:94.130.239.164:443
Referrer Policy:no-referrer-when-downgrade
Response Header:
allow:POST
cache-control:private, must-revalidate
content-length:0
content-type:text/html; charset=UTF-8
date:Mon, 05 Mar 2018 13:52:41 GMT
expires:-1
pragma:no-cache
server:nginx
status:200
x-powered-by:PleskLin
x-powered-by:PHP/7.2.2
Request Header:
:authority:backend.example.com
:method:OPTIONS
:path:/api/v1/leads/showAdmin
:scheme:https
accept:*/*
accept-encoding:gzip, deflate, br
accept-language:de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7
access-control-request-headers:authorization
access-control-request-method:POST
origin:https://example.com
user-agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36
Die Laravel Cors Library die ich verwende ist:
https://github.com/asm89/stack-cors
Zuletzt bearbeitet: