Я пытаюсь сделать запрос CORS на POST с сайта domain.com на a.domain.com.
Мой javascript выглядит так
$('#fileupload').fileupload({
xhrFields: {
withCredentials: true
},
dataType: 'json',
url: $('#fileupload').data('path'),
singleFileUploads: true,
add: function(e, data){
data.submit();
}
});
Сначала я вижу маршрут OPTIONS, называемый так:
Request URL: https://a.domain.com/some/route
Request Method:OPTIONS
Status Code:200 OK
ЗАПРОС ОПЦИИ:
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
ОПЦИИ РЕАГИРОВАНИЯ
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
Этот запрос возвращается с 200, как указано. На моем сервере у меня есть тот же маршрут с методом POST
, и это то, что я получаю взамен после OPTIONS
Request URL:https://a.domain.com/some/route
ПОСЛЕ ЗАПРОСА
Content-Type:multipart/form-data; boundary=----WebKitFormBoundaryjwr5Pk7WBcfzMdbO
Origin:http://domain.com:3000
Referer:http://domain.com:3000/home
а запрос POST
отменяется/терпит неудачу.
Мой вопрос: нужен ли мне также контроль доступа-источника-источника на контроллере POST?
У меня есть файл cookie для авторизации с доменом .domain.com
, который cookie получил в одно время в запросе и он не отправляется сейчас. Любая идея, почему это произойдет?