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 = "*")
    

    然后成功。

  • 相关阅读:
    css3.0新属性效果在ie下的解决方案(兼容性)
    ajax实现md5加密
    ajax给全局变量赋值问题
    前端资源分享
    7件你不知道但可以用CSS做的事
    jQuery 常用效果
    ThinkPHP redirect 传参
    join和split 的使用
    JSON_FORCE_OBJECT 数字索引数组 强转对象
    layer 弹框不显示内容
  • 原文地址:https://www.cnblogs.com/lifegoeson/p/13409826.html
Copyright © 2011-2022 走看看