在 web 开发中,我们常常需要在不同页面之间传递数据。在过去,我们可能会使用一些比较传统的方式,例如通过 URL 传参、使用 cookie、使用 session 等等。随着前端框架的普及,我们也可以使用一些现代化的技术来传递数据,例如使用 RESTful API、使用 GraphQL 等等。
其中,JSON 和 cookie 是比较常见的一种数据传递方式。JSON(JavaScript Object Notation)是一种轻量级的数据格式,它可以把简单的数据结构(对象、数组、字符串、数字)序列化成字符串,并在不同的系统之间进行传递,这些数据通常是前端与后端之间的 Ajax 交互数据。
而 cookie 则是一种将数据存储在客户端的技术,它可以在同一浏览器会话中保留数据,并在需要的时候将这些数据发送到服务器端。
在实际开发中,我们可以将 JSON 和 cookie 结合使用,以实现更加复杂的数据传递场景。下面是一个使用 JSON 和 cookie 进行数据传递的示例代码:
// 设置 cookie,将需要传递的数据转化为 JSON 字符串 document.cookie = "data=" + JSON.stringify({ username: "test", password: "password" }); // 读取 cookie,将 JSON 字符串转化为 js 对象 const cookieValue = document.cookie .split(';') .map(cookie => cookie.trim()) .find(cookie => cookie.startsWith('data=')) .split('=')[1]; const data = JSON.parse(cookieValue); console.log(data.username); // test console.log(data.password); // password
在这个示例代码中,我们首先将数据转换为 JSON 格式,并将 JSON 字符串存储在 cookie 中。随后,在需要使用数据的时候,我们通过解析 cookie 中的字符串,将其转化为 JavaScript 对象,以便后续的使用。
需要注意的是,cookie 受到浏览器的限制,不同浏览器对 cookie 的大小、数量、存活时间等都有不同的规定。在实际开发中,我们需要根据具体的业务场景来选择合适的方案。