Vue使用axios发送两次请求,多了options 请求
创始人
2024-01-27 12:21:59
0

参考资料:https://blog.csdn.net/charleslei/article/details/51906635

文章目录

    • 1.原因分析
    • 2.解决办法(axios+SpringBoot跨域)

1.原因分析

因为vue-resource不在更新,vue推荐使用axios,所以使用axios。
在页面交互过程中,发现axios会发送两次请求,一次是自己设置的请求方式,还有一次是options

跨域资源 共享标准新增了一组 HTTP 首部字段,允许服务器声明哪些源站有权限访问哪些资源。另外,规范要求,对那些可能对服务器数据产生副作用的 HTTP 请求方法(特别是 GET 以外的 HTTP 请求,或者搭配某些 MIME 类型的 POST 请求),浏览器必须首先使用 OPTIONS 方法发起一个预检请求(preflight request),从而获知服务端是否允许该跨域请求。

服务器确认允许之后,才发起实际的 HTTP 请求。

在预检请求的返回中,服务器端也可以通知客户端,是否需要携带身份凭证(包括 Cookies 和 HTTP 认证相关数据)。

也就是说,它会先使用options去测试,你这个接口是否能够正常通讯,如果不能就不会发送真正的请求过来,如果测试通讯正常,则开始正常请求。

后台需要进行设置,允许options请求,不然你的请求就会受到影响,后台并作出判断,如果请求方式为options,告诉它可以通讯,其他直接什么都不做。

2.解决办法(axios+SpringBoot跨域)

设置CorsConfig.java这个跨域请求配置类

CorsConfig.java源代码:

package com.imjie.demo;import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
import org.springframework.web.filter.CorsFilter;@Configuration
public class CorsConfig {private CorsConfiguration buildConfig() {CorsConfiguration corsConfiguration = new CorsConfiguration();corsConfiguration.addAllowedOrigin("*"); // 1允许任何域名使用corsConfiguration.addAllowedHeader("*"); // 2允许任何头corsConfiguration.addAllowedMethod("*"); // 3允许任何方法(post、get等)corsConfiguration.setMaxAge(1800L);// 4.解决跨域请求两次,预检请求的有效期,单位为秒return corsConfiguration;}@Beanpublic CorsFilter corsFilter() {UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();source.registerCorsConfiguration("/**", buildConfig()); // 4return new CorsFilter(source);}
}

效果:
后端设置后,预检请求具有有效期,这样只是第一次访问此controller的时候是两次请求,后面都是一次请求

相关内容

热门资讯

打工不如创业 打工不如创业 打...   打工不如创业自己当老板:生活水打工不如创业平的条件都是随之变化很大的,在事业巅峰上的创业选择其实...
打工一定不如自己创业吗? 打工... 打工一定不如自己创业吗?5年前·来自专栏「CTO肉饼」以下是「技术创业空间」微信公众号(微信号:)的...
「168股票配资」近5000万... 原标题:近5000万老股民注意!想参与注册制下创业板股票打新,赶紧做这件事!摘要【近5000万老股民...
网络赚钱网络创业网是真的吗是真... 轻松网络创业网在从事网络赚钱的过程中,网络赚钱是真的吗这个问题是2009年以前很多网友经常咨询我的一...
网络上有哪些创业项目是真实有效... 2010年至今我国汽车辆保有数达到2.6亿辆()万辆,有车就有用途,有车就需要加油,看个人所需的加油...
创业公司创业的30个创意 创业... 当我们查看申请项目时,总是能找到我们渴望看到的创意。以前,我们不会在公开场合告诉大家它们是什么。如果...
创业没钱可以去银行贷款吗? 创... 不可以。不是因为个人征信不符合,也不是因为个人没有固定资产,而是借款用途不符合监管部门的规定。用大白...
好波波包子加盟项目是不是适合小... 好波波包子将目前的商品开展开创大大的提高了包子的口味口味和营养成分。它优选各种各样高品质的食物,另配...
品牌包子加盟店优选包子加盟小本... 好吃的美食,人人都爱,那么,创业者投资它,自然很赚钱。品牌包子加盟店,韦小包包子,口感香醇更美味,食...
一万元创业项目 已经多人一万元... 对于很多人来说,创业是一个遥远的梦想,想创业,却苦于没有资金支持。其实,最佳的创业项目莫过于那些成本...