首页 > 其他分享 >前端页面之间传值的两种方式

前端页面之间传值的两种方式

时间:2022-11-10 19:33:21浏览次数:36  
标签:前端 value localStorage var cookie 传值 页面

情景:前后端分离项目,如果一个页面在跳转另一个页面的同时,想传递数据给另一个页面使用,就涉及到前端页面之间传值的问题。

主要有两个解决方案:cookielocalStorage(推荐)

介绍:

  • 浏览器端缓存文件,容量大小受浏览器产品限制
  • 前端传值,需要自己封装 js 工具类
  • 可作为前端传值,但也可与后端数据交互(特有)

使用:

cookie_utils.js

//封装工具类(新建js文件,使用时引入调用)
var operator = "=";

function getCookieValue(keyStr){
    var value = null;
    var s = window.document.cookie;
    var arr = s.split("; ");
    for(var i = 0; i < arr.length; i++){
        var str = arr[i];
        var k = str.split(operator)[0];
        var v = str.split(operator)[1];
        if(k == keyStr){
            value = v;
            break;
        }
    }
    return value;
}

function setCookieValue(key,value){
    document.cookie = key+operator+value;
}

login.html

<script src="static/js/cookie_utils.js"></script>
<script type="text/javascript">
	//cookie传值
    setCookieValue("username", userInfo.username);
    setCookieValue("userimg", userInfo.userImg);
</script>

index.html

<script src="static/js/cookie_utils.js"></script>
<script type="text/javascript">
	//cookie取值
    var name = getCookieValue("username");
    var img = getCookieValue("userimg");
</script>

localStorage 传值(推荐)

介绍:

  • 浏览器端缓存文件,可存储更大容量数据
  • 本身封装有方法,直接调用即可,比较方便
  • 不可与后端进行数据交互,前端传值比较有优势

使用:

login.html

<script type="text/javascript">
	//localStorage传值
	localStorage.setItem("user", JSON.stringify(userInfo));
</script>

index.html

<script type="text/javascript">
	//localStorage取值
    var jsonStr = localStorage.getItem("user");
    //JSON字符串转对象
    var userInfo = eval("(" + jsonStr + ")");
    //用完后可删除,不让浏览器本地长时间存储(存储的生命周期更长久)
    //localStorage.removeItem("user");  
</script>

标签:前端,value,localStorage,var,cookie,传值,页面
From: https://www.cnblogs.com/luisblog/p/16878141.html

相关文章

  • vue 项目使用 charles 代理线上页面到本地后显示404
    背景某app嵌入了航管的H5页面,在测试过程中,发现其中一个页面白屏。最简单的方案就是代理到本机,看看到底是哪里的bug。线上链接:https://wtest.133.cn/hangban/vue/jipiao/h......
  • 前端input<File>读取本地文本文件 | FileReader
    主要用到了以下apiFileReader<inputtype="file">functionaddData(){letinput=document.createElement('input');input.type='file';input.accept......
  • vue前端分页
    偷懒了,其他都是老老实实后端分页的,就这一个,前端涉及音频和三个接口的获取,之前写在一起了没分开。要是还用后端分页,要重新写,想着数据量不大,干脆在前端分页了。 分页用的e......
  • 前端图片合并
    上一篇中说到了电子签名,需求是用户签完名需要把名字放在某一个需要签名的位置,这里采用canvas进行图片的合并操作:话不多说,直接上代码<template><viewclass="ca......
  • 基于RESTful页面数据交互
    1.设置对静态资源的访问放行  2.前端页面通过一部提交访问后台控制器 ......
  • Web前端--Jquery获取域名的更目录
    jquery取得文件根目录functiongetRootPath(){//获得根目录varstrFullPath=window.document.location.href;varstrPath=window.document.location.pa......
  • 如何在vscode上运行前端代码
    vscode可安装静态web服务器LiveServer用于运行前端代码启动localhost运行安装方法是,点击左侧第五个图标,打开“扩展”页面,在文本框中输入LiveServer,点击第一个搜索结......
  • springboot整合项目-商城项目展示购物车勾选到支付页面并展示功能
    显示勾选的购物车数据1.持久层1.规划sql语句用户在购物车列表页面通过随机勾选相关的商品,在点击结算俺就后,跳转到结算页面,在这个页面需要展示用户在上个页面说勾选的购......
  • 一个主机不同域名访问不同页面
    创建存放html等网站文件的目录mkdir/var/www/html1mkdir/var/www/html2修改httpd.conf配置文件vim/etc/httpd/conf/httpd.conf##在文件的末尾添加以下配置信息<......
  • 什么是前端
    前端三大核心技术结构、样式、行为HTML、CSS、JavaScriptJS三大核心组成部分DOMBOMECMAScript(文档对象模型)......