前端获取后端传来的session_前端获得session信息方式对比,优化

在开发中,页面 js 经常会遇到需要 当前登录用户信息(菜单权限,用户基本信息,配置信息) 的地方,一般情况我们可能对这些信息获取方式不是太在意,但是现在的前端通过webpack打包,即使做了代码分割,js文件,css文件还是很大。

在首次加载的情况下面,存在一定的优化空间。下面主要介绍一些信息获取的方式。      接口使用的是模拟数据,session获取接口设置成了1秒延时,下面的数据都是首次加载的数据,不考虑304的情况。

1.后端程序设置,直接js代码,全局变量写入方式

浏览器访问app.do,后端程序响应,获取用户信息 InitData,获取返回的app.html文本,将用户信息 写入到html对应位置,返回给浏览器

【问题】

a. 获取用户信息 InitData + app.html文本 ---→ 返回给浏览器,浏览器再加载其他静态资源 ----> html加载过程

b. app.do返回的html,由于每个用户的基本信息都不一样,没办法使用浏览器304缓存机制

2.页面通过

下面是页面html代码

__page_begin= +newDate;

__clog('html begin load');

document.addEventListener('DOMContentLoaded', function () {__clog('html DOMContentLoaded');}, false);function__clog(str) {str= '--' +str+ ' ';console.log(str.substr(0,20),newDate-__page_begin);};

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 Python 后端会话数据传递给前端的过程中,一种常见的方法是使用模板引擎。模板引擎可以将后端的数据动态地渲染到前端页面中。 首先,在后端代码中,你需要将会话数据以某种形式存储,比如使用字典或对象。然后,选择一个适合你项目的模板引擎,比如 Jinja2 或 Django 的模板引擎。 接下来,你需要在后端的视图函数中将会话数据传递给模板引擎。这可以通过上下文变量来完成,将会话数据作为变量传递给模板引擎的渲染函数。 最后,你需要在前端的模板文件中使用模板引擎的语法来获取并显示会话数据。 下面是一个简单的示例,以 Flask 框架和 Jinja2 模板引擎为例: 1. 在后端,定义一个视图函数来处理请求: ```python from flask import render_template @app.route('/example') def example(): session_data = {'username': 'Alice', 'age': 25} return render_template('example.html', session=session_data) ``` 2. 在前端,创建一个名为 `example.html` 的模板文件,并使用 Jinja2 的语法显示会话数据: ```html <!DOCTYPE html> <html> <head> <title>Example Page</title> </head> <body> <h1>Welcome, {{ session.username }}!</h1> <p>Your age is {{ session.age }}.</p> </body> </html> ``` 在这个示例中,后端会话数据存储在 `session_data` 字典中,并通过 `render_template` 函数将其传递给模板引擎。前端模板文件通过 `{{ session.username }}` 和 `{{ session.age }}` 的语法来获取并显示会话数据。 这就是一个简单的将会话数据从 Python 后端传递给前端的方法,你可以根据自己的项目需求进行调整和扩展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值