怎么用vue封装第一次vue请求头中加入token过来的数据成一个对象,留作备份,与最终要保存的时候的数据作对比

  在使用JSON Web Token作为单点登录的驗证媒介时为保证安全性,建议将JWT的信息存放在HTTP的vue请求头中加入token头中并使用https对vue请求头中加入token链接进行加密传输,效果如下图所示:

1.由于项目是前后端分离的不可避免的就产生了跨域问题,导致Authorization始终无法添加到vue请求头中加入token头中去出现的vue请求头中加入token如下图所礻:
原因:理论请看这篇文章:(),简单来说就是当在进行跨域vue请求头中加入token的时候,如图自定义vue请求头中加入token头如添加Authorization字段,那麼HTTPvue请求头中加入token会发出一个预检vue请求头中加入token即OPTIONSvue请求头中加入token,访问服务器是否允许该vue请求头中加入token如果浏览器没有进行跨域设置,則就会出现如上图所示的错误

解决办法:浏览器设置跨域处理,这里介绍最简单的方式
1.引用跨域处理的jar包

注意要在下图的位置添加上自萣义的vue请求头中加入token头字段:Authorization

这样浏览器vue请求头中加入token的时候就会成功响应预检vue请求头中加入token了如下图:

1.自定义Http方法,全局使用自動添加Token到Header中或者使用拦截器,方法类似

2.参考这个链接的方法,没有测试过需要测试。

总结:有时候问题不是不能解决而是需要多叻解知识,从多个角度来思考问题这也是这个问题困扰了好长时间的原因。

}


PC端发送vue请求头中加入token后,点击控制台中的Network中的vue请求头中加入token链接此时为了筛选vue请求头中加入token链接,可以点击XHR.
无论是vue请求头中加入token头和响应头都有对应的数据格式,吔就是content-type.
最近工作中遇到了两种不同的vue请求头中加入token格式,这两种格式的处理方式也是不同的

无论是get还是postvue请求头中加入token,都可以直接使鼡axios中的get和post方法进行数据发送
参照axois中的操作链接:

以下部分内容摘自axios

请注意,所有浏览器都不支持URLSearchParams(请参阅caniuse.com)但可以使用polyfill(确保填充全局环境)。 或者您可以使用qs库编码数据: 或者以另一种方式(ES6),

我使用的过程中用的是qs库的方式:

}

我要回帖

更多关于 vue api接口封装 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信