原因:CORS 头缺少 ‘Access-Control-Allow-Origin’ 解决办法

今天在在跨域调试网站注册功能的时候,提示如下错误:

已拦截跨源请求:同源策略禁止读取位于 * 的远程资源。(原因:CORS 头缺少 ‘Access-Control-Allow-Origin’)。[详细了解]

解决办法:

其实,解决这个办法有很多,推荐方法有如下几种:

  • 第一种方法:被请求页面加上下面的代码,最好content填写域名;
<meta http-equiv="Access-Control-Allow-Origin" content="*">
  • 第二种方法:在请求控制器加上加上下面的代码;
header("Access-Control-Allow-Origin: *");
  • 第三种方法:IIS、Apache、Nginx可以直接配置Access-Control-Allow-Origin 跨域,具体如下:

1、IIS配置:只需要在IIS添加HTTP响应标头即可!

Access-Control-Allow-Headers:Content-Type, api_key, Authorization
Access-Control-Allow-Origin:*

2、Apache配置:主要修改http.conf


AllowOverride ALL
Header set Access-Control-Allow-Origin *

或者,修改Apache伪静态规则文件.htaccess

3、Nginx配置:主要是修改nginx.conf;

location ~* .(eot|ttf|woff|svg|otf)$ {
add_header Access-Control-Allow-Origin *;
}

上面的eot|ttf|woff|svg|otf,表示请求后缀类型,或者也可以直接写如下代码:

location / {
add_header Access-Control-Allow-Origin *;
}

总结:我个人觉得最简单的方法莫过于前面两种方法了,如果看了此文章还有什么不明白的可以直接给我评论留言。

转载来源:https://www.fujieace.com/html/cors.html

你可能感兴趣的:(学习笔记)