редактировать -Глядя на файлы cookie с помощью веб-инспектора Chrome, кажется, что независимо от значения срока действия файла cookie, браузер устанавливает его как файл cookie сеанса и удаляет его по запросу.
Я создаю пример CORS для класса, который я преподаю, используя Node.js и Express.
Однако, несмотря на то, что файлы cookie устанавливаются с сервера, они не отправляются обратно на сервер при последующих запросах. Это в значительной степени означает, что я не могу использовать какой-либо тривиальный менеджер сеансов.
Есть идеи, что мне здесь не хватает? Почему браузер не отправляет файлы cookie, установленные доменом, обратно в этот домен? Разве это не должно происходить автоматически?
редактировать -несколько примеров кода :настройка запроса XHR:
var xhr = new XMLHttpRequest();
xhr.open(method, url, true);
xhr.widthCredentials = true;
xhr.onreadystatechange = function(res){
if (xhr.readyState == 4){
cb(res,xhr);
}
};
xhr.setRequestHeader("Content-Type",'application/json');
xhr.setRequestHeader('Accept','application/json');
xhr.send(JSON.encode({param:some_param}));
сервер:
function allowCrossDomain(req,res,next) {
res.header('Access-Control-Allow-Credentials', true);
res.header('Access-Control-Allow-Origin', req.headers.origin);
res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,OPTIONS');
res.header('Access-Control-Allow-Headers', 'Content-Type,Accept,X-Requested-With');
if (req.method!='OPTIONS') return next();
res.send(204);
}
//while configuring express
app.use(allowCrossDomain)
Также стоит упомянуть, что я пробовал различные npm
промежуточные программы, которые делают одно и то же без заметной разницы
. Что касается сценария: