当前位置: 首页 > news >正文

网站制作潍坊pc端网站开发工具

网站制作潍坊,pc端网站开发工具,学做缝纫的网站,网站人员队伍建设薄弱vue axios请求后端接受不到token的问题。 相关概念 什么是跨域? 跨域指的是在浏览器环境下,当发起请求的域(或者网站)与请求的资源所在的域之间存在协议、主机或端口中的任何一个条件不同的情况。换句话说,只要协议、…

vue axios请求后端接受不到token的问题。

相关概念

什么是跨域?

跨域指的是在浏览器环境下,当发起请求的域(或者网站)与请求的资源所在的域之间存在协议、主机或端口中的任何一个条件不同的情况。换句话说,只要协议、主机或端口中有一个不同,就会被认为是跨域请求。

具体来说,以下情况都属于跨域请求:

  • 域名不同:例如从https://www.example.comhttps://api.example.com发送请求。
  • 端口不同:例如从https://www.example.com:8080https://www.example.com:3000发送请求。
  • 协议不同:例如从http://www.example.comhttps://www.example.com发送请求。

axios请求后端接受不到token

具体看下面博客:

vue中axios发送OPTIONS预检请求的原因及如何通过_vue预请求_millet109的博客-CSDN博客

 后端接收不到前端传入的header参数信息 - 简书 (jianshu.com)

浅谈:

axios默认发的是复杂请求;而cors复杂请求;会先发一次options预请求,所以我们进行token

校验必须要先把第一次options请求过滤出去。

但是,这里又一个问题,我们通过springMvc设置跨域代买如下:

@Configuration
public class CorsConfig implements WebMvcConfigurer {@Overridepublic void addCorsMappings(CorsRegistry registry) {// 注册 CORS 配置registry.addMapping("/**").allowedOriginPatterns("*").allowedHeaders("*").allowCredentials(true).allowedMethods("GET","POST","PUT","DELETE") // 注意就是要请求方式上,要改成全部.maxAge(3600);}
}

但其实我们自定义了一个filter,优先级在springmvc设置的跨域之上,因此,我们需在filter自定逻辑判断。

实例代码如下:

 // 1.排除options请求,防止报错if(!request.getMethod().equals("OPTIONS")){token = request.getHeader("Authorization").substring(6); // 没有token,这路为null}// 设置跨域response.setHeader("Access-Control-Allow-Origin", "*"); // 允许所有域名跨域请求response.setHeader("Access-Control-Allow-Methods", "*"); // 允许所欲方法跨域亲够response.setHeader("Access-Control-Allow-Headers", "*"); // 允许请求头设置人和自定义信息// 预检请求缓存时间(秒),即在这个时间内相同的预检请求不再发送,直接使用缓存结果。response.setHeader("Access-Control-Max-Age", "3600");

后端响应cookie,前端接收不到

后端

允许跨域请求携带凭证信息

response.setHeader("Access-Control-Allow-Credentials", "true");

上面跨域需要更改:

服务器server端要配置Access-Control-Allow-Origin到以上配置为止,发送ajax请求,我们发现还会出现一个错误,提示我们 Access-Control-Allow-Origin 不能用 * 通配符。原因是:当服务器端 Access-Control-Allow-Credentials = true时,参数Access-Control-Allow-Origin 的值不能为 '*' 。我们重新设置Access-Control-Allow-Origin的值,当服务器端接收到请求后,在返回响应时,把请求的域Origin填写到响应的Header信息里(即谁访问我,我允许谁),代码如下:

response.setHeader("Access-Control-Allow-Origin", request.getHeader("Origin"));

前端

 设置withCredentials = true

 

http://www.yayakq.cn/news/931348/

相关文章:

  • 枣庄公司做网站网站转回国内
  • 鞍钢建设集团网站唐山住房和城乡建设网站
  • 重庆企业建站系统模板科技酒店
  • 阿里云网站地图是怎么做的wordpress responsive
  • 产品做国外网站有哪些无锡seo优化公司
  • 培训网站系统建设腾讯云域名如何建设网站
  • html网站开发目标哪些网站教做生物实验
  • 网站首页设计总结自助建站帮助网
  • 一般网站建设大概需要多少钱个人网站带后台源码
  • 淘宝网站怎么做会话保持的个人中心页面
  • seo管理系统培训运营百度推广seo效果怎么样
  • 网站建设的服务怎么样东莞百度快速排名
  • wordpress为什么那么卡企业网站优化方案范本
  • 汉中建站公司虚拟主机和云服务器
  • 网站建设的必要性分析做警员编号网站
  • 重庆seowhy整站优化网页版qq空间登录
  • 如何建一个简单的网站制作网页的网站叫什么
  • 浙江省住房和建设厅网站finecms
  • dedecms模板站源码wordpress 绿色公益主题
  • 用网站做的人工智能wordpress 工作流程
  • 青州做网站的网络公司网站备案负责人变更
  • 网站开发 入门电子商务网站设计
  • 一诺网站建设简述企业网站建设实施的步骤
  • 企业网站的功能有哪些深圳住房建设部官方网站
  • 网站建站需求做网站用买服务器码
  • 机关网站建设存在的问题wordpress接入官方号
  • 网站建设进度表模板传奇合成版2合1雷霆版手游
  • 中国建设工程信息网站新加坡网络公司排名
  • 网站建设文字教程视频南昌做公司网站哪家好
  • 服务器上安装wordpress深圳seo推广