前端用的Vue+axios发起请求
后端node+express ,用cors 跨域。
get 请求时session 获取没有问题,但是post 请求时就很麻烦又是跨域有携带不上cookie
这是解决前打印的session 没有保存的验证码
这是解决后的session
const appConfig = require('./config');//引入自定义路由配置文件
const session = require('express-session')//引入session
const cors = require('cors')//引入cors
const app=express();
app.use(session({//这里配置session !!!写在路由配置之前
secret: '12345',
resave: true,
cookie:{
maxAge: 1000 * 60 * 60 * 24 *2
},
saveUninitialized: true
}))
var corsoptions ={//配置跨域信息
origin:['http://127.0.0.1:8080'],//这里不能写*,要写具体路径
credentials: true,// 允许携带验证信息
maxAge: '1728000'
}
app.use(cors(corsoptions))
appConfig(app);//路由等其他配置信息
//前端vue 项目mian.js文件
import Vue from 'vue'
import App from './App.vue'
import router from './router'
import './plugins/element.js'
import './assets/css/reset.css'
import axios from 'axios'
// !!!配置请求时保存session信息 一定写在URL前面
axios.defaults.withCredentials = true //允许携带cookie,默认设置为false
axios.defaults.baseURL = 'http://127.0.0.1:4001/'
Vue.prototype.$http = axios
Vue.config.productionTip = false
new Vue({
router,
render: h => h(App)
}).$mount('#app')
//前端aioxs发起请求
const { data: res } = await this.$http.post('passport/register', this.registerForm,
{ headers: { 'Content-Type': 'application/x-www-form-urlencoded' } })