zoukankan      html  css  js  c++  java
  • Access to XMLHttpRequest at xxxx from origin ‘null‘ has been blocked by CORS policy:

    使用前后端分离的方式创建web项目的时候出现问题:

    在这里插入图片描述
    这是因为 ajax 请求的对应的域在本地的一个文件路径,比如在D盘的某个文件夹,这里存放的都是前端文件;

    但是对应的服务器是 localhost 的一个域名;

    虽然请求可以到达服务端,服务端也可以处理,但是请求是无法进入ajax的success部分的。

    springboot处理的方式是,在代码里面加上跨域的注解。

    spring的官方文档有这个注解的解释,如下图

    在这里插入图片描述

    简单翻译一下:

    这个注解会使得对应的方法支持跨域请求。

    默认情况下,允许所有的 origin 和所有的 header ,以及所有的 controller 对应的HTTP方法。

    allowedCredentials参数在默认情况下不启用,因为这会建立一个信任级别,这个级别会把用户的敏感信息(如cookies和CSRF令牌)公开,建议是只应在适当的情况下使用。

    开始的时候加了:

    @CrossOrigin
    

    但是重启应用之后还是有问题,于是就加入了allowedCredentials参数,改成:

    @CrossOrigin(allowCredentials = "true", allowedHeaders = "*")
    

    然后成功。

  • 相关阅读:
    vue-router路由器的使用
    组件间数据传递
    引用模块和动态组件
    vue自定义全局和局部指令
    vue实例的属性和方法
    vue生命周期以及vue的计算属性
    vue 发送ajax请求
    安装vue-cli脚手架
    vue指令详解
    scrapy-redis组件的使用
  • 原文地址:https://www.cnblogs.com/lifegoeson/p/13409826.html
Copyright © 2011-2022 走看看