Nuxt服务端使用Axios调用接口时传递cookies
个人博客 地址:http://www.wenhaofan.com/article/20190321183709
介绍
在做单点登录时,后端需要根据cookie获取登录用户,由于前端项目使用了Nuxt做SSR,所以前端项目服务端使用Axios发送的接口请求中没有携带浏览器的cookie,这样后端项目获取不到cookie就一直处于未登录的状态,所以需要在Axios请求中设置请求头内容,添加浏览器端传来的cookie值,这里使用Nuxt插件的方法封装Axios,简化操作流程
创建插件
1.在plugins目录下新建axios-plugin.js
2.添加如下代码
import axios from 'axios' //开启浏览器端cookie传递
axios.defaults.withCredentials=true const EDU_SERVER_API='http://127.0.0.1/api/v2'; let options = {};
options.baseURL = EDU_SERVER_API let ax = {
options:options,
get: (req,url) => {
options.headers = {
"Cookie": req.headers.cookie+";"
}
url=options.baseURL+url;
return axios.get(url,options);
}
} // 为了在 asyncData 方法中使用
export default ({ app }, inject) => {
// Set the function directly on the context.app object
app.$global = {
ax:ax
}
};
plugins: [
'@/plugins/global',
{
src:'@/plugins/element-ui',
ssr: true,
},
'@/plugins/axios-plugin'
],
AsyncData中使用
代码如下
export default {
async asyncData(params) {
return params.app.$global.ax.get(params.req, '/user/').then(res => {
return {user: res.data.user};
})
}
}
Nuxt服务端使用Axios调用接口时传递cookies的更多相关文章
- Nuxt 服务端渲染
前言 Nuxt.js 是一个基于 Vue.js 的通用应用框架. ssr 渲染服务端 可以看官方文档 https://zh.nuxtjs.org/guide/ nuxt 与平常 jsonp 不一样 , ...
- 服务端怎样暴露IBinder接口对象
服务端怎样暴露IBinder接口对象: package com.example.mydownload; import android.app.Service; import android.conte ...
- axios调用接口
axios调用接口 1. 按照axiosnpm install --save-dev axios2.在main.js 引入axios, 设置全局属性$http 指向axios main.js impo ...
- vue服务端渲染axios预取数据
首先是要参考vue服务端渲染教程:https://ssr.vuejs.org/zh/data.html. 本文主要代码均参考教程得来.基本原理如下,拷贝的原文教程. 为了解决这个问题,获取的数据需要位 ...
- gRPC (1):入门及服务端创建和调用原理
1. RPC 入门 1.1 RPC 框架原理 RPC 框架的目标就是让远程服务调用更加简单.透明,RPC 框架负责屏蔽底层的传输方式(TCP 或者 UDP).序列化方式(XML/Json/ 二进制)和 ...
- 一: WCF的服务端与客户端在通信时有三种模式:请求响应模式、数据报模式和双工通讯模式。
说一下基本知识, 1.如果想要将当前接口作为wcf服务器,则一定要加上[ServiceContract] 契约 2.要想将方法作为wcf服务方法发布给外部调用,则一定要加上 [Operatio ...
- go, iris , nuxt, 服务端渲染等技术在helloworld开发者社区中的应用与实践
大家好,helloworld.net 上线已经有近半年的时间了,转眼过的好快,在这半年的时间里,迭代了近10多个版本,优化了很多的体验,交互上的不足之处,同时也上线了我们的安卓 app, 苹果的因为还 ...
- 客服端与服务端APP支付宝支付接口联调的那些坑
根据支付宝官方提供的文档的建议: TIPS:这一步应在商户服务端完成,商户服务端直接将组装和签名后的请求串orderString传给客户端,客户端直接传给SDK发起请求.文档和Demo是为了示例效果在 ...
- vue中axios调用接口和用node.js跨域
<script>const API_PROXY = 'https://bird.ioliu.cn/v1/?url='import axios from 'axios'export defa ...
随机推荐
- NPOI word文档表格在新的文档中多次使用
最近有一个项目,涉及到文档操作,有一个固定的模版,模版中有文字和表格,表格会在新的文档中使用n多次 //获取模版中的表格FileStream stream = new FileStream(strPa ...
- k8s系列---ingress资源和ingress-controller
https://www.cnblogs.com/zhangeamon/p/7007076.html http://blog.itpub.net/28916011/viewspace-2214747/ ...
- 寒假答辩作品:Java小游戏
目录 java入门小游戏[test] 游戏界面 前言 (可直接跳到程序介绍) 前期入门小项目 前期收获 后期自创关卡 后续 java入门小游戏[test] 游戏界面 github地址: https:/ ...
- c#音乐播放器
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- django 定时任务 django-crontab 的使用
成功例子如下图: 1.前言 在做 django 开发需求时,多多少少都会遇到需要定时任务的功能,比如定时执行任务,检查订单之类的.可能是一段时间,比如每隔 10分钟执行一次,也可能是定点时间,比如 1 ...
- 浏览器中常见的html语义化标签
html标签默认在浏览器中展示的样式,html标签的用途:语义化(明白每个标签的用途,在什么情况下使用此标签合理);标签语义化好处:1.更容易被搜索引擎收录2.更容易让屏幕阅读器读出网页内容. 网页上 ...
- SAP MM 一个含有多个账号分配对象的行项目的PO及其收货
SAP MM 一个含有多个账号分配对象的行项目的PO及其收货 如下的采购订单,一个行项目数量为8PC,分别对应8个固定资产号, 在该ITEM的科目分配里,按数量做了拆分,每个数量对应一个固定资产号.如 ...
- 【React Native错误集】* What went wrong: Execution failed for task ':app:installDebug'.
错误1:* What went wrong: Execution failed for task ':app:installDebug'. > com.android.builder.testi ...
- nuget打包上传
准备工作 下载nuget.exe,以及gui推送编辑工具 Nuget Package Explorer (可选) 设置nuget环境变量. 流程 完成项目 cmd控制台cd到项目目录下(项目目录不是解 ...
- mysql查询时不区分大小写
一次偶然的机会,发现在登陆验证时,改变用户名的大小写,同样可以登录成功,这是由于,当时使用的mysql数据库对大小写不敏感,查询时总是能查询到数据.一番查找资料,给出的原因是:在创建数据库的时候,选择 ...