Я отправляю запрос AJAX с помощью JQuery на сервер NodeJS, который ДОЛЖЕН без проблем устанавливать файлы cookie клиенту, но это НЕТ.Я могу видеть заголовки Set-Cookie
в ответе, но при этом в строке document.cookie
НЕ содержатся мои файлы cookie !!Если бы кто-нибудь мог взглянуть на этот код, я был бы очень признателен.
Код запроса:
$.ajax({
type: "POST",
url: "https://my-site/mailcamp",
contentType: "application/json",
dataType: "json",
processData:false,
data: JSON.stringify(reqBody),
success: function (data) {
console.log(data);
},
xhrFields: { withCredentials: true },
crossDomain: true,
})
Ответ сервера:
app.use('/*', function(req, res, next) {
res.header("Access-Control-Allow-Origin", "https://www.texashunterproducts.com");
res.header("Access-Control-Allow-Headers", "Origin, x-access-token, x-user-pathway, x-mongo-key, X-Requested-With, Content-Type, Accept");
res.header("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE, PUT");
res.header("Access-Control-Allow-Credentials", true);
next();
});
router.route('/mailcamp')
.post(async (req, res, next) => {
try {
res.setHeader('Set-Cookie', [`texaspopup=true`]);
res.cookie("texcookienowpopupnow", "trueasheck")
res.send("Send me dem cookiez");
} catch(err) { next(err) }
})
Я простоНЕ получать это в document.cookie.У меня есть некоторые странные несоответствия:
Я отчетливо вижу заголовок ответа Set-Cookie
на вкладке «Сеть FireFox»:
Однако в Chrome он полностью отсутствует!
Я не могу найти cookie при разборе document.cookie
совсем.Я скопировал + вставил содержимое document.cookie
и не могу найти свою пару ключ / значение, используя ctrl+f
.Зачем?Что тут происходит?Он не должен быть скрыт, потому что я не добавляю маркеры Httponly
в файл cookie и отправляю его непосредственно в домен, с которого запрашиваю.