express---express-session axios

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

  1. 在main.js中导入axios

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

    1. var express=require('express');
    2. var session = require("express-session");
    3. var cookieParser = require("cookie-parser");
    4. var app =express();
    5. var router = express.Router();
    6. app.use(cookieParser('sessiontest'));
    7. app.use(session({
    8. secret: 'sessiontest',//与cookieParser中的一致
    9. resave: true,
    10. saveUninitialized:true
    11. }));
    12. //设置跨域访问,关键
    13. app.all('*', function(req, res, next) {
    14. res.header("Access-Control-Allow-Origin", "*");
    15. res.header("Access-Control-Allow-Headers", "X-Requested-With,Content-Type");
    16. res.header("Access-Control-Allow-Methods","PUT,POST,GET,DELETE,OPTIONS");
    17. //res.header("X-Powered-By",' 3.2.1');
    18. //res.header("Content-Type", "application/json;charset=utf-8");
    19. next();
    20. });
    21. app.use(router)
    22. router.get('/getUserByNameAndPass',function(req,res){//get请求
    23. var sql = "select * from userInfo where account = ?";
    24. connection.query(sql,req.query.account, function (error, data) {
    25. if (error) {
    26. var result = {
    27. "status": "500",
    28. "message": "服务器错误"
    29. }
    30. return res.jsonp(result);
    31. }else{
    32. if (data.length == 0) {
    33. res.jsonp({ "status": "200","message": "账号不存在",});
    34. }else if(data[0].password != req.query.password){
    35. res.jsonp({ "status": "200","message": "密码错误",});
    36. }else{
    37. req.session.userInfo = data[0]
    38. res.send({ "status": "200","message": "success",'user':data[0]});
    39. }
    40. }
    41. })
    42. })
    43. router.post('/loginUserInfo',function(req,res){
    44. if(req.session.userInfo){
    45. res.jsonp({ "status": "200","message": "success",'userInfo':req.session.userInfo});
    46. }else{
    47. res.jsonp({ "status": "200","message": "error",'message':"用户未登录"});
    48. }
    49. })
  3. axios访问接口

    1. getUserByNameAndPass () {
    2. this.$http({
    3. method: 'get',
    4. url: 'http://localhost:8283/getUserByNameAndPass',
    5. params: {
    6. 'password': '12138',
    7. 'account': 'fc6963',
    8. }
    9. }).then(function (res) {
    10. console.log(res)
    11. })
    12. },
    13. loginUserInfo () {
    14. this.$http({
    15. method: 'post',
    16. url: 'http://localhost:8283/loginUserInfo',
    17. }).then(function (res) {
    18. console.log(res)
    19. })
    20. },
    21. //loginUserInfo方法收到从server响应session中的数据
    22. {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. Java异常 Exception类及其子类

    C语言时用if...else...来控制异常,Java语言所有的异常都可以用一个类来表示,不同类型的异常对应不同的子类异常,每个异常都对应一个异常类的对象. Java异常处理通过5个关键字try.ca ...

  2. python中函数定义之实参、形参

    一般在函数的定义中,会有一类变量---形参,它是函数完成其工作的一项信息.实参往往是调用函数时传递给函数的信息.我们在调用函数时,将要让函数使用的信息放在括号内.例如定义一个函数def greet_u ...

  3. (19)zabbix Applications使用介绍

    介绍 Applications(我们翻译为应用程序)是item的一个组. 例如我们要监控MySQL,我们可以将所有和MySQL相关的item放到这个应用程序中. 例如MySQL的availabilit ...

  4. 算法竞赛中c++一些需要注意的错误

    1. 关于精度: 取整 除法取整: (除数为正)被除数为正时系统除法为向下取整,被除数为负时系统除法为向上取整. 向上取整(被除数非负,除数为正): 一般写法(有bug): int cal(int x ...

  5. loj2141 「SHOI2017」期末考试

    我们枚举每一个时间点,使得所有科目的时间都小于等于这个时间点,计算安排老师的代价和学生们的不满意度更新答案. 但是枚举太慢了,可以发现,时间点越早,学生们不满意度越小,安排老师的代价越高.即安排老师的 ...

  6. Python标准库之csv(1)

    Python标准库之csv(1) 1.Python处理csv文件之csv.writer() import csv def csv_write(path,data): with open(path,'w ...

  7. SQL server将查询到的多行结果,拼接成字符串(列转行)

    select stuff(( ,,'') as UserNamestr 注释:查询出tabname表中的UserName列的所有内容,并将内容拼接成UserNamestr

  8. x86保护模式 控制寄存器和系统地址寄存器

    控制寄存器和系统地址寄存器 控制寄存器    crx cr0   指示cpu工作方式的控制位  包含启用和禁止分页管理机制的控制位  包含控制浮点协处理器操作的控制位   注意必须为0的位 cr2和c ...

  9. BZOJ-1303 中位数图

    先找到B的位置x,然后依次统计A[i..x-1](0<i<x)中小于B的个数,和A[x+1..i](x<i<n)中大于B的个数 最后Answer等于(左边有i个小于B的情况总数 ...

  10. Iptables入门教程

    转自:http://drops.wooyun.org/tips/1424 linux的包过滤功能,即linux防火墙,它由netfilter 和 iptables 两个组件组成. netfilter ...