JavaScript: คุกกี้และเมาส์

ภาพถ่ายโดย Sandy Millar บน Unsplash

คำว่าคุกกี้ HTTP นั้นมาจากคุกกี้โชคลาภ คุกกี้เสี่ยงทายย้อนเวลากลับไปในศตวรรษที่ 19 ในเมืองเกียวโต ประเทศญี่ปุ่น ภายในคุกกี้เหล่านี้มีการฝังข้อความพิเศษไว้ Lou Montulliนักพัฒนาเว็บใช้แนวคิดนี้เช่นเดียวกับวิธีที่ระบบ Unix ใช้ในการส่งไฟล์ข้อมูลขนาดเล็กจากโปรแกรมหนึ่งไปยังอีกโปรแกรมหนึ่งโดยไม่มีการเปลี่ยนแปลงเพื่อสร้างคุกกี้ HTTP

ในบทช่วยสอนนี้ เราจะสำรวจคุกกี้ HTTP โดยใช้ JavaScript และวิธีที่ฉันเรียกใช้เกมหนู โดยพยายามตั้งค่าและดึงข้อมูลคุกกี้

คำชี้แจงปัญหา

ฉันมีคำขอรับพร้อมฟังก์ชันการโทรกลับที่มีaccessTokenไฟล์ . ต่อไป ฉันต้องการดึงข้อมูลผู้ใช้ โดยใช้ข้อมูลที่accessTokenสร้างขึ้น ซึ่งจะดำเนินการกับคำขอดึงข้อมูล

callback: (response) => {
      // run fetch request to get user info
      let value = fetch(url + response.access_token, {
        method: 'GET',
        headers: {
          'Accept': 'application/json',
        },
      })
        .then(value => value.json())
        .then(text => console.log(text))
    }

.then(text => return text)

function callme() {
  callback: (response) => {
      ...
    }
}

let userinfo = callme();

โซลูชันคุกกี้วานิลลา

ทางออกแรกที่นึกถึงคือการจัดเก็บค่าเป็นคุกกี้ ด้วยวิธีนี้ เราเพียงต้องดึงค่าคุกกี้ออกมาเมื่อใดก็ตามที่เราต้องการ

.then(text => document.cookie = "userinfo=" + JSON.stringify({ username: text.name, userimg: text.picture }))

let userinfo = document.cookie

นี่กลายเป็นปัญหาใหญ่เนื่องจากฉันต้องเรียกคุกกี้ที่ลงทะเบียนแล้วจากหน้าอื่น ฟังก์ชันโหลดหน้าต่างสามารถแก้ไขได้หากฉันสร้างด้วยวานิลลา JavaScript

window.location.reload()

โซลูชันตอบสนองคุกกี้

ในการค้นหาวิธีแก้ปัญหา ฉันพบคลังคุกกี้ R eact ที่สมบูรณ์ แบบ ตามคำแนะนำ ฉันมาถึงสิ่งนี้:


(Pageone.jsx)

import React from "react";
import { useCookies } from "react-cookie";

export default function Pageone() {
  const [setCookie] = useCookies(["user"]);

  function myCookie() {
    setCookie("user", "blah", {
      path: "/"
    });
  }
  return (
    <button onClick={myCookie()}>Set Cookie</button>
  );
}
(Pagetwo.jsx)

import React from "react";
import { useCookies } from "react-cookie";

export default function Pagetwo() {
  const [cookies] = useCookies(["user"]);

  return (
    <div className="Pagetwo">
      <h1>React cookies</h1>
       {cookies.user && <p>{cookies.user}</p>}
      <button onClick={myCookie()}>Set Cookie</button>
    </div>
  );
}

ตอบโต้รัฐเพื่อช่วยเหลือ

การใช้งานโฟลว์การออกแบบเกี่ยวข้องกับการดึงข้อมูลผู้ใช้ จัดเก็บ และนำทางไปยังหน้าใหม่ด้วยข้อมูลที่บันทึกไว้ ด้วยReact useNavigateเราสามารถจัดเก็บข้อมูลผู้ใช้ในสถานะขณะนำทาง

.then(text => navigate('/', { state:{username:text.name, userimg:text.picture}}))

import { useLocation } from 'react-router-dom';

const Sidebar = () => {
  const location = useLocation();
  // retrieve userimg
  let userimg = location.state.userimg;
  // retrieve username
  let username = location.state.username;
}

ฉันยุติการไล่ตามแมวและหนูได้สำเร็จโดยใช้สถานะการตอบสนอง ในบทความนี้ เราได้สำรวจวิธีการส่งข้อมูลผ่านส่วนประกอบ React ก่อนอื่น เราสำรวจคุกกี้วานิลลาจาวาสคริปต์ ต่อไป เราใช้ไลบรารีคุกกี้ React และสถานะ React ในที่สุด

Suggested posts

หลีกเลี่ยงผลร้ายของโรคหลอดเลือดสมอง: เรียนรู้จากการเดินทางของครอบครัว

หลีกเลี่ยงผลร้ายของโรคหลอดเลือดสมอง: เรียนรู้จากการเดินทางของครอบครัว

บทนำ โรคหลอดเลือดสมองเป็นเหตุฉุกเฉินทางการแพทย์ที่สามารถส่งผลกระทบต่อทุกคนได้ตลอดเวลา เกิดขึ้นเมื่อการไหลเวียนของเลือดไปยังส่วนหนึ่งของสมองหยุดชะงัก นำไปสู่การสูญเสียการทำงานของสมองอย่างกะทันหัน

ทรัพยากรการเข้ารหัสที่ฉันใช้มากที่สุด

ทรัพยากรการเข้ารหัสที่ฉันใช้มากที่สุด

สัปดาห์นี้ ฉันได้รับอีเมลจากสมาชิกรายการอีเมลรายวัน พวกเขาต้องการทราบ: คุณเข้าชมแหล่งข้อมูลใดรายวัน รายสัปดาห์ และรายเดือน คำถามที่ดี! ฉันยินดีที่จะพยายามแบ่งปันข้อมูลเชิงลึกเกี่ยวกับเวิร์กโฟลว์และทรัพยากรยอดนิยมที่ฉันใช้

Related posts

การพังทลายอย่างช้าๆ: เปิดเผยวิธีที่ผู้คนสูญเสียไปในอาชีพของพวกเขา

การพังทลายอย่างช้าๆ: เปิดเผยวิธีที่ผู้คนสูญเสียไปในอาชีพของพวกเขา

ในโลกที่เปลี่ยนแปลงอย่างรวดเร็วและการแข่งขันในปัจจุบัน อาชีพของคนๆ หนึ่งมีบทบาทสำคัญในการเติบโตส่วนบุคคล ความมั่นคงทางการเงิน และความพึงพอใจในชีวิตโดยรวม อย่างไรก็ตาม ผู้คนจำนวนมากพบว่าตัวเองติดอยู่ในวงจรของความเมื่อยล้าและความไม่พอใจอย่างไม่หยุดยั้ง ค่อยๆ สูญเสียชีวิตการทำงานไป

การแสดงเดี่ยวของสาวผมแดง

เมื่อได้รับมอบหมายจากเฮย์เดน เคธี่ถ่ายคลิปตัวเองช่วยตัวเอง

การแสดงเดี่ยวของสาวผมแดง

หลังเที่ยงคืน Hayden ขับรถพา Katie กลับไปที่หอพักของวิทยาลัยหลังจากพวกเขาอยู่ด้วยกันในตอนเย็น เธอมีเรียนแต่เช้าและไม่มีเสื้อผ้าเปลี่ยนอีกหลังจากค้างกับเขาเมื่อคืนก่อน

"เปิดร่องลึกบาดาลมาเรียนา: เปิดเผยความจริงอันน่าสะพรึงกลัวของก้นบึ้ง"

"เปิดร่องลึกบาดาลมาเรียนา: เปิดเผยความจริงอันน่าสะพรึงกลัวของก้นบึ้ง"

บทนำ:ยินดีต้อนรับ ผู้อ่านผู้กล้าหาญ สู่การเดินทางที่จะพาเราไปสู่ความลึกที่มืดมนที่สุดบนโลกใบนี้ ในบล็อกนี้ เราเจาะลึกโลกอันน่าพิศวงของร่องลึกบาดาลมาเรียนา เปิดเผยความลับที่ซ่อนอยู่ และเปิดเผยความจริงอันน่าสะพรึงกลัวที่อยู่ใต้พื้นผิวของมัน

คลังข้อมูลภัยคุกคามนั้น: เล่มที่ 7 Black Basta

คลังข้อมูลภัยคุกคามนั้น: เล่มที่ 7 Black Basta

ในโลกที่เชื่อมต่อถึงกันทุกวันนี้ ภัยคุกคามจากการโจมตีทางไซเบอร์นั้นแพร่หลายมากขึ้นกว่าเดิม อาชญากรไซเบอร์และผู้มีบทบาทในระดับชาติพยายามใช้ประโยชน์จากช่องโหว่และขโมยข้อมูลที่มีค่าอย่างต่อเนื่อง ซึ่งก่อให้เกิดความเสี่ยงที่สำคัญต่อองค์กรทุกขนาด