express---express-session axios
express---express-session axios
使用axios访问后台获取session中的属性值为undefined
在main.js中导入axios
import axios from 'axios'
axios.defaults.withCredentials = true//关键
Vue.prototype.$http = axios
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':"用户未登录"});
}
})
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的更多相关文章
- 理解Express express.static 和 __direname 及 __firename的含义
理解Express express.static 和 __direname 及 __firename的含义 一:理解 app.use(express.static(__direname + '/pub ...
- express中session的存储与销毁
1.首先在使用session之前需要先配置session的过期时间等,在入口文件app.js中 app.use(express.session({ cookie: { maxAge: config.g ...
- express使用session会话
前几周在学习nodejs基础,发现nodejs没有session会话变量,导致登录注册实现多了很多步骤.现在记录一下express中会话变量用法 安装express-session方法: 1.cnpm ...
- 一:项目简介(node express vue elementui axios)
一:项目基本构造 ** 项目一共有 16 个页面,是一个电商网销项目,自己在网上的某网上找的一个要做的网站的设计图: 页面主要包括: 登录页 -- 注册页 -- 首页 -- 产品列表页 -- 产品详 ...
- express的session函数
key:这个表示session返回来的cookie的键值, 我们整理一下哈: 这个是我们没有清缓存然后刷新了一下哈,对比的结果,发现session保存的数据中,只是expires这个改变了 { &qu ...
- node.js平台下Express的session与cookie模块包的配置
首先下载两个模块包 session模块包:用于保持登录状态或保持会话状态等. npm install express-session --save-dev cookie模块包:用于解析cookie. ...
- express中session的使用
一.Session 简单介绍 session 是另一种记录客户状态的机制,不同的是 Cookie 保存在客户端浏览器中,而 session 保存在服务器上.Session 的用途:session 运行 ...
- express中session的基本使用
1.首先安装express-session模块 npm install express-session --save 2.引入express-session,以及设置中间键 var session = ...
- [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 ...
- express 框架之session
一.什么是session? 最近在学习node.js 的express框架,接触到了关于session方面的内容.翻阅了一些的博客,学到了不少东西,发现一篇博文讲的很好,概念内容摘抄如下: Sessi ...
随机推荐
- flask模板语言
由于Django的模板引擎和Flask中的Jinja2模板引擎有很多一样的地方,所以我将一样的地方总结到了独立的文章中 https://www.cnblogs.com/kuxingseng95/art ...
- non-JRMP server at remote endpoint
#在相应的domain的domain.xml文件添加下面红色设置,并重启domain <admin-service system-jmx-connector-name="system& ...
- html制作简单框架网页 实现自己的音乐驿站 操作步骤及源文件下载 (播放功能限mp3文件)
使用HTML语言来设计制作 Hyper Text Markup Language 超文本标记语言 这门语言的特点就是标记,就是把所有的命令单词用<>标记起来,就可以发挥作用 还有一个特点, ...
- baidumap demo(二)
接口说明 百度地图API提供的搜索服务包括:POI检索,多关键字检索,公交方案检索,驾车路线检索,步行路线检索,地理编码,反地理编码,公交详情检索,在线建议查询,短串分享. 所有检索请求接口均为异步接 ...
- vue 使用element-ui实现城市三级联动
<template> <div> <el-select v-model="prov" style="width:167px;margin-r ...
- bzoj5469 [FJOI2018]领导集团问题
题目描述: bz luogu 题解: 相当于树上$LIS$问题. 考虑一维情况下的贪心,我们可以用multiset启发式合并搞. 代码: #include<set> #include< ...
- mysql查询数据包太大:max_allowed_packet
查询大小: show variables like '%max_allowed_packet%'; 修改大小: set global max_allowed_packet = 1024 * 1024 ...
- CSS 布局经典问题初步整理
CSS 定位问题 主要就是经典的绝对定位,相对定位问题. 10个文档学布局:通过十个例子讲解布局,主要涉及相对布局,绝对布局,浮动. 百度前端学院笔记 – 理解绝对定位:文章本身一般,几篇参考文献比较 ...
- getComputedStyle与currentStyle获取元素当前的css样式
CSS的样式分为三类: 内嵌样式:是写在标签里面的,内嵌样式只对所在的标签有效内部样式:是写在HTML里面的,内部样式只对所在的网页有效外部样式表:如果很多网页需要用到同样的样式,将样式写在一个以.c ...
- Python语言程序设计之三--列表List常见操作和错误总结
最近在学习列表,在这里卡住了很久,主要是课后习题太多,而且难度也不小.像我看的这本<Python语言程序设计>--梁勇著,列表和多维列表两章课后习题就有93道之多.我的天!但是题目出的非常 ...