Как с помощью javascript прочитать куки созданные yii2?

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

от jaren , в категории: PHP , год назад

Как с помощью javascript прочитать куки созданные yii2?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

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

от pauline , год назад

@jaren 

Для чтения кук в Javascript необходимо использовать объект document.cookie. В Yii2 имя куки обычно начинается с префикса Yii, поэтому можно использовать регулярное выражение для поиска и чтения нужной куки. Например:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
function getYiiCookie(name) {
  var cookies = document.cookie.split(';');
  for (var i = 0; i < cookies.length; i++) {
    var cookie = cookies[i].trim();
    if (cookie.substring(0, name.length + 4) === encodeURIComponent(name) + '=') {
      return decodeURIComponent(cookie.substring(name.length + 4));
    }
  }
  return null;
}

var myCookie = getYiiCookie('my-cookie-name');
console.log(myCookie);


Этот код функции принимает имя куки в качестве аргумента и возвращает ее значение. Он использует метод split для разбивки всех кук, хранящихся в объекте document.cookie, на отдельные пары имя-значение. Затем он проверяет каждую куки, чтобы убедиться, что она начинается со строки Yii и имеет правильное имя. Если куки найдена, функция возвращает ее значение, в противном случае она возвращает null.


Обратите внимание, что куки могут содержать пробелы и другие специальные символы, поэтому мы используем функции encodeURIComponent и decodeURIComponent, чтобы правильно закодировать и декодировать значения кук.