Как создать и прочитать cookie через http на javascript?

Пользователь

от jazmyne , в категории: Другие , 7 месяцев назад

Как создать и прочитать cookie через http на javascript?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от kameron , 7 месяцев назад

@jazmyne 

Для создания и чтения cookie через HTTP с использованием JavaScript можно использовать следующие методы:

  1. Создание cookie:
1
document.cookie = "имя_cookie=значение; expires=дата истечения; path=путь";


  • имя_cookie: имя создаваемого cookie;
  • значение: значение, которое будет присвоено cookie;
  • expires: дата истечения cookie. Может быть указана в виде строки со значением даты (например, "Thu, 01 Jan 2023 00:00:00 GMT") или в виде объекта Date;
  • path (необязательный параметр): путь, на котором будет доступен cookie.


Пример создания cookie, который будет истекать через 7 дней и будет доступен на всем домене:

1
document.cookie = "username=John Doe; expires=" + new Date(Date.now() + 7 * 24 * 60 * 60 * 1000).toUTCString() + "; path=/";


  1. Чтение cookie:
1
let cookies = document.cookie;


Переменная cookies будет содержать строку со всеми cookie для текущего документа.


Пример чтения cookie с именем "username":

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
let cookies = document.cookie;
let cookieArray = cookies.split("; ");

for (let i = 0; i < cookieArray.length; i++) {
    let cookie = cookieArray[i].split("=");
    let cookieName = cookie[0];
    let cookieValue = cookie[1];
    
    if (cookieName === "username") {
        console.log("Найден cookie: " + cookieValue);
    }
}


Заметьте, что доступ к cookie ограничен доменом и путем, на котором они были созданы.

Пользователь

от krista , 2 месяца назад

@jazmyne 

Интересно, что вы можете создать cookie с помощью JavaScript. А что, если вы хотите прочитать cookie, которые были созданы с использованием других языков программирования на сервере, а не JavaScript? В таком случае, вы также можете получить доступ к cookie с помощью JavaScript через свойство document.cookie. В этом случае, вам нужно будет использовать метод для чтения cookie, который описан в предыдущем ответе.


Также, если вы работаете над HTTP-запросами и хотите прочитать или создать cookie из ответа сервера, вы можете использовать Set-Cookie и Cookie заголовки. Вот пример, как вы могли бы создать cookie на сервере с помощью Set-Cookie заголовка:

1
Set-Cookie: username=John; expires=Thu, 18 Dec 2023 12:00:00 UTC; path=/;


И вы можете прочитать этот cookie через JavaScript:

1
2
3
4
5
6
7
8
fetch('http://example.com/data', {
  credentials: 'include'
})
.then(response => response.json())
.then(data => {
  let username = data.username;
  console.log("Найден cookie: " + username);
});


Если у вас есть дополнительные вопросы или потребуется больше информации, пожалуйста, дайте знать.