跨域访问只发送了options预请求,没有后续请求

3 篇文章 0 订阅
1 篇文章 0 订阅

问题:
Access-Control-Allow-Origin,只要提示这个错误,应该就可以认定是跨域访问的问题,

ps:本人出现这个错误是在已经设置好了跨域访问的请求之后出现的,由于之前的环境跨域访问的时候是没有问题的,所以没有将目标锁定在跨域代码的变更之上,而是将主要的目标放在了前段和本地环境上,之后经过一天的挨个排查最终目标锁定在配置文件被改动.
这可能是无意的操作更改了代码,却不知情,但是也借此发现以后出现这个问题的关注点在哪里,和一个朋友讨论过这个问题他之前也是出现过这个问题,原因也是在这个属性上

allowedCredentials: true #是否发送Cookie信息

总结:
如果之后跨域访问的时候遇到这个问题首先要排查的就是这个属性时候单词是否写错,调用的时候是否写错API等!

y:
  cors:
    allowedOrigins: #允许的域,不要写*,否则cookie就无法使用了
      - http://www.yyy.com
      - http://manage.yyy.com
    allowedCredentials: true  #是否发送Cookie信息
    allowedMethods:  #允许的请求方式
      - DELETE
      - OPTIONS
      - HEAD
      - GET
      - POST
      - PUT
    allowedHeaders:  #允许的头信息
      - "*"
    maxAge: 360000  #有效期
    filterPath: "/**"  #添加映射路径,我们拦截一切请求
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 不完全正确。虽然OPTIONS请求通常在跨域请求中使用,但它不仅限于跨域请求OPTIONS请求可以用于任何类型的请求,包括同源请求OPTIONS请求通常用于跨域请求中,因为浏览器在执行跨域请求时会先发送OPTIONS请求以获取服务器支持的请求方法和头信息等。如果服务器支持该请求,则浏览器会发送实际请求,否则请求将失败。这是由于浏览器的同源策略,旨在防止恶意网站获取用户敏感信息或执行不良操作。 ### 回答2: 不是的,OPTIONS请求并不仅仅在跨域时才会使用。OPTIONS请求是根据HTTP协议规定的一种方法,用于获取服务器所支持的HTTP方法列表以及其他与请求的资源相关的信息。它可以用于同域和跨域请求。 在同域请求中,当一个客户端发送一个带有OPTIONS方法的请求时,服务器会返回关于该资源所支持的各种请求方法(例如GET、POST等)以及其他信息(例如允许访问该资源的域名列表、请求头部等)。这些信息可以帮助客户端了解服务器所支持的操作,并适当地进行后续操作。 在跨域请求中,由于浏览器的同源策略限制,跨域请求需要进行检(preflight),浏览器会先发送一个OPTIONS请求到目标服务器,以确认是否允许实际请求,例如是否允许通过Ajax请求跨域资源。服务器在收到OPTIONS请求后,会根据请求头部中的信息进行验证,然后返回允许的请求方法和其他信息给浏览器,浏览器根据返回的结果来判断是否发送实际请求。 因此,OPTIONS请求不仅局限于跨域请求,它在同域和跨域场景下都有使用的价值。 ### 回答3: options请求并不只会在跨域时才出现。 Options请求是HTTP协议中的一种请求方法,用于获取关于服务器支持的请求方法、请求头等信息。它的作用是让客户端可以在发送实际请求之前,了解服务器对于跨域请求的支持情况。 一般情况下,当浏览器发送跨域的GET、POST等请求时,会先发送一个OPTIONS请求到目标服务器,以获取服务器是否允许该跨域请求的相关信息。服务器会在返回的响应头中指定所允许的请求方法,请求头信息等内容。只有当服务器返回的OPTIONS响应中允许浏览器发送实际请求的方法和头信息时,浏览器才会发送具体的GET、POST等请求。 但是,并非所有场景下都需要发送OPTIONS请求。在同源访问情况下,即域名、协议和端口号都完全一致的情况下,浏览器会直接发送实际的请求,而不会发送OPTIONS请求。 因此,虽然OPTIONS请求跨域场景下非常常见,但并不是所有的跨域请求都会触发OPTIONS请求。同源访问下的请求是不会触发OPTIONS请求的。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值