Ich versuche CORS Anfrage POST von domain.com zu a.domain.com zu machen.Wie funktionieren CORS und Access-Control-Allow-Header?
Meine Javascript wie folgt aussieht
$('#fileupload').fileupload({
xhrFields: {
withCredentials: true
},
dataType: 'json',
url: $('#fileupload').data('path'),
singleFileUploads: true,
add: function(e, data){
data.submit();
}
});
Zuerst sehe ich die OPTIONS Strecke wie so genannt zu werden:
Request URL: https://a.domain.com/some/route
Request Method:OPTIONS
Status Code:200 OK
Anfrage Optionen:
Access-Control-Request-Headers:origin, content-type, accept
Access-Control-Request-Method:POST
Host:a.domain.com
Origin:http://domain.com:3000
Referer:http://domain.com:3000/home
Antwortoptionen
Access-Control-Allow-Credentials:true
Access-Control-Allow-Methods:POST
Access-Control-Allow-Origin:http://domain.com:3000
Connection:keep-alive
Content-Length:0
Content-Type:text/html;charset=utf-8
Diese Anfrage kommt mit 200 wie angegeben zurück. Auf meinem Server, ich die gleiche Strecke mit POST
Methode habe, und das ist, was ich im Gegenzug nach dem REQUEST OPTIONS
Request URL:https://a.domain.com/some/route
POST
Content-Type:multipart/form-data; boundary=----WebKitFormBoundaryjwr5Pk7WBcfzMdbO
Origin:http://domain.com:3000
Referer:http://domain.com:3000/home
und der POST
Anfrage wird abgebrochen/versagt erhalten.
Meine Frage ist, muss ich auch die Zugriffssteuerung-ermöglichen-Herkunft auf dem POST-Controller?
Ich habe einen Cookie für die Autorisierung mit der Domain .domain.com
, dass Cookie einmal in einer Anfrage gesendet wurde und jetzt nicht gesendet wird. Irgendeine Idee, warum das passieren würde?
Kann das Protokoll entfallen hinzufügen? oder kannst du eins mit http und https hinzufügen? – Michael