Разбор HTTP-файлов cookie на JavaScript

JavaScriptJavaScriptBeginner
Практиковаться сейчас

This tutorial is from open-source community. Access the source code

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом лабе мы углубимся в тему разбора HTTP-файлов cookie на JavaScript. Цель этого лабораторий — дать практический опыт в извлечении и организации данных cookie из строки HTTP-заголовка. В конце этого лаборатория вы ясно поймете, как использовать функцию parseCookie для создания объекта, содержащего все пары имя-значение cookie.

Чтобы разобрать строку HTTP-заголовка cookie на JavaScript и вернуть объект со всеми парами имя-значение cookie, следуйте этим шагам:

  • Откройте Терминал/SSH и введите node, чтобы начать практиковаться в написании кода.
  • Используйте String.prototype.split(), чтобы разделить пары ключ-значение друг от друга.
  • Используйте Array.prototype.map() и String.prototype.split(), чтобы разделить ключи от значений в каждой паре.
  • Используйте Array.prototype.reduce() и decodeURIComponent(), чтобы создать объект со всеми парами ключ-значение.

Вот пример функции parseCookie(), которая реализует вышеперечисленные шаги:

const parseCookie = (str) =>
  str
    .split(";")
    .map((v) => v.split("="))
    .reduce((acc, v) => {
      acc[decodeURIComponent(v[0].trim())] = decodeURIComponent(v[1].trim());
      return acc;
    }, {});

Вы можете протестировать функцию следующим образом:

parseCookie("foo=bar; equation=E%3Dmc%5E2");
// { foo: 'bar', equation: 'E=mc^2' }

Резюме

Поздравляем! Вы завершили лабораторию по разбору файлов cookie. Вы можете практиковаться в других лабораториях в LabEx, чтобы улучшить свои навыки.