后台服务器端

负责处理前台应用提交的请求,并向前台返回 json 数据

前台应用 负责

展现数据与用户交互

发 ajax 请求与后台应用交互

yarn add axios

/src/api/ajax.js

  • /*
    自定义封装 axios ---- https://github.com/axios/axios
    返回值: Promise 对象
    */
    export default function ajax(url, data={}, method="GET"){
    /**** 自定义封装 Promise 对象 ****/
    return new Promise((resolve, reject)=>{
    let promiseAxios;
    if(method === "GET"){
    promiseAxios = axios,get(url, {params: data});
    }else if(method === "POST"){
    promiseAxios = axios.post(url, data);
    }else{
    throw new Error("方法 method 错误");
    }
    promiseAxios.then(result=>{
    resolve(result);
    }).catch(error=>{
    console.log(error);
    message.error("请求出错了");
    throw new Error("请求出错了");
    });
    });
    } /****
    async function login(){
    const result= await ajax(
    "/login",
    {uName: 'Tom', uPWD: '112233'},
    "POST"
    );
    if(result.statue === 0){...}else{...}
    }
    ****/

/src/api/login.js

  • import requestLogin from "xxx"
    ...
    this.props.form.validateFields(()=>{
    if(error){ }else{
    const result = await requestLogin(values);
    }
    })
    ... /**** 以上写法意味着 ajax 需要进一步封装 /src/api/index.js
    import ajax from "./ajax"
    // export function requestLogin(data){
    // return ajax(“/login”, data, "POST");
    // } export default const requsetAPI = {
    login(data){
    return ajax(“/login”, data, "POST");
    },
    addUser(data){
    return ajax(“/manage/user/add”, data, "POST");
    },
    }
    ****/

保存 用户登录 状态

  • 会话保存到内存 sessionStorage
  • 永久保存到硬盘 localStorage

06_jsonp、cors、"proxy" 代理 解决跨域问题 ---- 只有 ajax 跨域才会有问题

proxy 有两个作用: 拦截到请求,然后转发到 另一个目标地址

中间件就是一个函数,进行处理后,控制继续还是不继续。

http-proxy-middleware 代理中间件 被前端广泛使用,而后台多用 nginx

配置 前端应用的 package.json ---- webpack-dev-server 提供的功能

07_登录检查用户状态 从内存读 会 从 localStorage 中读 的效率更高

减少从 localStorage 中读: 只是存入 localStorage

登录检查:

创建 admin 各个子组件

5

创建 src/config 文件夹 ---- 菜单配置 menuConfig.js

  • reduce 的常用逻辑

  • 在 LeftNav.jsx 中

利用递归,来

react_app 项目开发 (6)_后台服务器端-node的更多相关文章

  1. react_app 项目开发 (5)_前后端分离_后台管理系统_开始

    项目描述 技术选型 react API 接口 接口文档,url,请求方式,参数类型, 根据文档描述的方法,进行 postman 测试,看是否能够得到理想的结果 collections - 创建文件取项 ...

  2. react_app 项目开发 (3)_单页面设计_react-router4

    (web) 利用 react-router4 实现 单页面 开发 SPA 应用 ---- (Single Page Web Application) 整个应用只有 一个完整的页面 单击链接不会刷新页面 ...

  3. react_app 项目开发 (7)_难点集合

    /src/App/Admin/Header 布局 import {Row, Col} from "antd" <div className="header_box& ...

  4. react_app 项目开发 (4)_ React UI 组件库 ant-design 的基本使用

    最流行的开源 React UI 组件库 material-ui 国外流行(安卓手机的界面效果)文档 ant-design 国内流行 (蚂蚁金服 设计,一套 PC.一套移动端的____下拉菜单.分页.. ...

  5. react_app 项目开发 (8)_角色管理_用户管理----权限管理 ---- shouldComponentUpdate

    角色管理 性能优化(前端面试) 需求:只要执行 setState(), 就会调用 render  重新渲染.由于有时调用了 setState,但是并没有发生状态的改变,以致于不必要的刷新 解决: 重写 ...

  6. react_app 项目开发 (9)_数据可视化 ECharts

    数据可视化 ECharts yarn add echarts echarts-for-react

  7. react_app 项目开发

    react_app 项目开发 npm install -g create-react-app npm root -g        // 查看安装包位置 创建项目 create-react-app m ...

  8. react_app 项目开发_遇到的坑

    1. favicon.ico <link rel="shortcut icon" type="image/x-icon" href="./fav ...

  9. com.panie 项目开发随笔_数据字典(2017.2.24)

    (一) 做一个网站,第一步需要考虑的是从哪个地方开始下手.首先,每一个功能肯定有最基本的增删改查功能,而此功能一般都分为两个页面. 1) 列表显示页面.用列表来展示数据库中的数据,多用于分页显示.该页 ...

随机推荐

  1. ArcGis地理坐标系转投影坐标系问题的思考与处理

    博主又不知道标题该咋写了,凑合看吧. 国庆前帮人处理了这样一个问题:Shapefile数据,加载到ArcMap后呈懵逼状态,缩放功能完蛋.求助者希望对数据进行投影,由CGCS2000的GCS坐标系投影 ...

  2. ORACLE升级PSU&OJVM注意的问题及遇到问题解决思路

    [环境介绍] 系统环境:Solaris + Oracle 11R2 + OGG + 脚本定时任务统计信息收集 [背景描述] 基于集团的安全检查,需要对数据库版本进行漏洞扫描,漏洞扫描中存在RBDMS和 ...

  3. [物理学与PDEs]第2章第4节 激波 4.1 间断连接条件

    1.  守恒律方程 $$\bex \cfrac{\p f}{\p t}+\cfrac{\p q}{\p x}=0 \eex$$ 在间断线上应满足 ``间断连接条件'': $$\bex [f]\cfra ...

  4. java包

    首先是java.io java.lang java.util  java.lang.math

  5. pythonのdjango CSRF简单使用

    一.简介 django为用户实现防止跨站请求伪造的功能,通过中间件 django.middleware.csrf.CsrfViewMiddleware 来完成.而对于django中设置防跨站请求伪造功 ...

  6. Nginx+Apache环境的安装与配置

    我们依然尽可能采用yum来安装我们需要的软件,由系统官方维护的软件,其安全性和稳定性都值得信赖,并且容易管理,升级方便,但是在CentOS和RHEL的官方yum源中暂时没有Nginx等软件包,所以我们 ...

  7. Java的家庭记账本程序(I)

    日期:2019.2.26 博客期:037 星期二 Part 1: 今天使用新的"radio"标签,将搜索方式的选则内容更改了,如下图,不过,研究了很久的数据库连接也还是没有成功!嗯 ...

  8. 集腋成裘-09-ECharts -HelloECharts-02

    上一篇我们讲了可视化数据分析的重要性以及ECharts的一些的特性,这一篇我们继续学习一下ECharts的简单Demo 一:5 分钟上手 ECharts <!DOCTYPE html> & ...

  9. jdbc中的sql注入

  10. Java桥接模式

    定义:将抽象部分与它的具体实现部分分离,使他们都可以独立的变化 通过组合的方式建立两个类之间联系,而不是继承 类型:结构型 适用场景: 抽象和具体实现之间增加更多的灵活性 一个类存在两个(或多个)独立 ...