express---express-session axios

使用axios访问后台获取session中的属性值为undefined

  1. 在main.js中导入axios

    import axios from 'axios'
    axios.defaults.withCredentials = true//关键
    Vue.prototype.$http = axios
  2. server.js中编写接口

    var express=require('express');
    var session = require("express-session");
    var cookieParser = require("cookie-parser");
    var app =express();
    var router = express.Router();
    app.use(cookieParser('sessiontest'));
    app.use(session({
    secret: 'sessiontest',//与cookieParser中的一致
    resave: true,
    saveUninitialized:true
    }));
    //设置跨域访问,关键
    app.all('*', function(req, res, next) {
    res.header("Access-Control-Allow-Origin", "*");
    res.header("Access-Control-Allow-Headers", "X-Requested-With,Content-Type");
    res.header("Access-Control-Allow-Methods","PUT,POST,GET,DELETE,OPTIONS");
    //res.header("X-Powered-By",' 3.2.1');
    //res.header("Content-Type", "application/json;charset=utf-8");
    next();
    });
    app.use(router)
    router.get('/getUserByNameAndPass',function(req,res){//get请求
    var sql = "select * from userInfo where account = ?";
    connection.query(sql,req.query.account, function (error, data) {
    if (error) {
    var result = {
    "status": "500",
    "message": "服务器错误"
    }
    return res.jsonp(result);
    }else{
    if (data.length == 0) {
    res.jsonp({ "status": "200","message": "账号不存在",});
    }else if(data[0].password != req.query.password){
    res.jsonp({ "status": "200","message": "密码错误",});
    }else{
    req.session.userInfo = data[0]
    res.send({ "status": "200","message": "success",'user':data[0]});
    }
    }
    })
    })
    router.post('/loginUserInfo',function(req,res){
    if(req.session.userInfo){
    res.jsonp({ "status": "200","message": "success",'userInfo':req.session.userInfo});
    }else{
    res.jsonp({ "status": "200","message": "error",'message':"用户未登录"});
    }
    })
  3. axios访问接口

    getUserByNameAndPass () {
    this.$http({
    method: 'get',
    url: 'http://localhost:8283/getUserByNameAndPass',
    params: {
    'password': '12138',
    'account': 'fc6963',
    }
    }).then(function (res) {
    console.log(res)
    })
    },
    loginUserInfo () {
    this.$http({
    method: 'post',
    url: 'http://localhost:8283/loginUserInfo',
    }).then(function (res) {
    console.log(res)
    })
    },
    //loginUserInfo方法收到从server响应session中的数据
    {id: 1, name: "付xx", account: "fc6963", age: 29, identify: "管理员", password: "12138", phoneNumber: null,…}

express---express-session axios的更多相关文章

  1. 理解Express express.static 和 __direname 及 __firename的含义

    理解Express express.static 和 __direname 及 __firename的含义 一:理解 app.use(express.static(__direname + '/pub ...

  2. express中session的存储与销毁

    1.首先在使用session之前需要先配置session的过期时间等,在入口文件app.js中 app.use(express.session({ cookie: { maxAge: config.g ...

  3. express使用session会话

    前几周在学习nodejs基础,发现nodejs没有session会话变量,导致登录注册实现多了很多步骤.现在记录一下express中会话变量用法 安装express-session方法: 1.cnpm ...

  4. 一:项目简介(node express vue elementui axios)

    一:项目基本构造 ** 项目一共有 16 个页面,是一个电商网销项目,自己在网上的某网上找的一个要做的网站的设计图: 页面主要包括:  登录页 -- 注册页 -- 首页 -- 产品列表页 -- 产品详 ...

  5. express的session函数

    key:这个表示session返回来的cookie的键值, 我们整理一下哈: 这个是我们没有清缓存然后刷新了一下哈,对比的结果,发现session保存的数据中,只是expires这个改变了 { &qu ...

  6. node.js平台下Express的session与cookie模块包的配置

    首先下载两个模块包 session模块包:用于保持登录状态或保持会话状态等. npm install express-session --save-dev cookie模块包:用于解析cookie. ...

  7. express中session的使用

    一.Session 简单介绍 session 是另一种记录客户状态的机制,不同的是 Cookie 保存在客户端浏览器中,而 session 保存在服务器上.Session 的用途:session 运行 ...

  8. express中session的基本使用

    1.首先安装express-session模块 npm install express-session --save 2.引入express-session,以及设置中间键 var session = ...

  9. [Node.js]24. Level 5: Express, Express routes

    Create an express route that responds to GET requests at the URL /tweets that responds with the file ...

  10. express 框架之session

    一.什么是session? 最近在学习node.js 的express框架,接触到了关于session方面的内容.翻阅了一些的博客,学到了不少东西,发现一篇博文讲的很好,概念内容摘抄如下: Sessi ...

随机推荐

  1. cocos2d popSceneWithTransition()方法

    要在CCDirector.h中增加如下方法: template <typename T> void popSceneWithTransition(float t) { CCASSERT(_ ...

  2. 【OS_Linux】Linux中虚拟机的三种上网方式——桥接、NAT、Host-only

    1.桥接 桥接方便做实验,配置ip方便.可以和局域网中的其他机器进行通信,也可以和公网进行通信.缺点是会占用主机所在局域网的一个ip. 2. NAT NAT模式下虚拟机可以和主机进行通信,可以上网,而 ...

  3. (45)zabbix报警媒介:SMS

    介绍 服务器安装串口GSM短信猫之后,zabbix可以使用它来发送短信通知给管理员,如下注意事项: 串行设备速度要与GSM猫相匹配(linux下默认为/dev/ttyS0),zabbix无法设置设置串 ...

  4. js获取移动端触摸坐标

    想在touchmove事件里监听手指按下的坐标,event.pageX获取的是undefined,changedTouches,targetTouches,touches也只获得到了鼠标按下时的坐标, ...

  5. css3-flex-box(2)

    使用方法 使用Flexbox布局只要在父容器元素上设置display属性: .flex-container { display: -webkit-flex; /* Safari */ display: ...

  6. docker 安装 openresty

    文章来源: 1.拉取镜像 # docker pull openresty/openresty 2.启动openresty # docker run -it --name openresty -p : ...

  7. HashMap图解

    HashMap的数据结构和put.get.resize等操作的图解,看图轻松掌握HashMap (目前还不包括红黑树相关的部分) HashMap数据结构如下图 HashMap之put操作如下图 Has ...

  8. PAT Basic 1052

    1052 卖个萌 萌萌哒表情符号通常由“手”.“眼”.“口”三个主要部分组成.简单起见,我们假设一个表情符号是按下列格式输出的: [左手]([左眼][口][右眼])[右手] 现给出可选用的符号集合,请 ...

  9. C# 反射总结

    反射(Reflection)是.NET中的重要机制,通过放射,可以在运行时获得.NET中每一个类型(包括类.结构.委托.接口和枚举等)的成员,包括方法.属性.事件,以及构造函数等.还可以获得每个成员的 ...

  10. server 08 R2 NBL 报错:RPC 服务器在指定计算机上不可用

    排查步骤如下: 1.检查并确保 Remote Procedure Call (RPC) 和 Remote Procedure Call (RPC) Locator这两项服务是否都已经启动 2.确认此2 ...