当前位置: 首页 > news >正文

高端网站建设专家sem搜索

高端网站建设专家,sem搜索,广东网站定制,免费的域名网站我们平时对于前后端联调的项目,以下的错误是经常常见的,我们查看浏览器报错: Access to XMLHttpRequest at http://localhost:63110/system/dictionary/all fromorigin http://localhost:8601 has been blocked by CORS policy: No Access…

我们平时对于前后端联调的项目,以下的错误是经常常见的,我们查看浏览器报错: 

Access to XMLHttpRequest at 'http://localhost:63110/system/dictionary/all' fromorigin 'http://localhost:8601' 
has been blocked by CORS policy: No 'AccessControl-Allow-Origin' header is present on the requested resource.

提示:从http://localhost:8601访问http://localhost:63110/system/dictionary/all被CORS policy阻止,因为没有Access-Control-Allow-Origin 头信息。CORS全称是 cross origin resource share 表示跨域资源共享。

出这个提示的原因是基于浏览器的同源策略,去判断是否跨域请求,同源策略是浏览器的一种安全机制,从一个地址请求另一个地址,如果协议、主机、端口三者则不是跨域,否则就是跨域请求。

比如:

从http://localhost:8601 到 http://localhost:8602 由于端口不同,是跨域。

从http://192.168.101.10:8601 到 http://192.168.101.11:8601 由于主机不同,是跨域。

从http://192.168.101.10:8601 到 https://192.168.101.11:8601 由于协议不同,是跨域。

注意:服务器之间不存在跨域请求。

浏览器判断是跨域请求会在请求头上添加origin,表示这个请求来源哪里。比如:

GET / HTTP/1.1
Origin: http://localhost:8601

服务器收到请求判断这个Origin判断是否允许跨域,如果允许则在响应头中说明允许该来源的跨域请求,如下:

Access-Control-Allow-Origin:http://localhost:8601

如果允许域名来源的跨域请求,则响应如下:

Access-Control-Allow-Origin:*

解决跨域的方法:

1、JSONP

通过script标签的src属性进行跨域请求,如果服务端要响应内容则首先读取请求参数callback的值,callback是一个回调函数的名称,服务端读取callback的值后将响应内容通过调用callback函数的方式告诉请求方。如下图:

 

2、添加响应头服务端在响应头添加 Access-Control-Allow-Origin:*

3、通过nginx代理跨域由于服务端之间没有跨域,浏览器通过nginx去访问跨域地址。

1)浏览器先访问http://192.168.101.10:8601 nginx提供的地址,进入页面

2)此页面要跨域访问http://192.168.101.11:8601 ,不能直接跨域访问http://www.baidu.com:8601,而是访问nginx的一个同源地址,比如:http://192.168.101.11:8601/api ,通过http://192.168.101.11:8601/api 的代理去访问http://www.baidu.com:8601。

这样就实现了跨域访问。

浏览器到http://192.168.101.11:8601/api 没有跨域

nginx到http://www.baidu.com:8601通过服务端通信,没有跨域。

实现:spring提供了一个CorsFilter类

/* 允许跨域调用的过滤器*/
@Bean
public CorsFilter corsFilter() {CorsConfiguration config = new CorsConfiguration();//允许白名单域名进行跨域调用config.addAllowedOrigin("*");//允许跨越发送iecookieconfig.setAllowCredentials(true);//放行全部原始头信息config.addAllowedHeader("*");//允许所有请求方法跨域调用,比如post,Get,多个方法中间用逗号调用config.addAllowedMethod("*");UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();source.registerCorsConfiguration("/**", config);return new CorsFilter(source);
}
http://www.tj-hxxt.cn/news/109112.html

相关文章:

  • 官方网站制作公司seo云优化外包
  • 电子商务网站的开发原则包括火爆产品的推广文案
  • 公司网站开发费用兴田德润官方网站鄞州seo服务
  • 平度网站建设ld4阿里云免费域名
  • 网站建设移动网络公司如何制作网站教程
  • 朋友圈网站怎么做的电子商务推广方式
  • 卖产品的网站怎么做seo软件工具
  • 柳州城乡建设管理局网站靠谱seo整站优化外包
  • wordpress 拖拽排序太原网站建设优化
  • 网站运维推广怎么做8个公开大数据网站
  • 想网上卖家具怎么做网站营销qq下载
  • phpweb手机版网站公司网站建设步骤
  • 网站建设前的市场分析怎么写百度智能云
  • 网站建设怎样才能吸引顾客网页入口网站推广
  • 兴义网站建设外链论坛
  • 新网互联魔方手机网站建站系统百度一下就知道了官网楯
  • 个人做地方门户网站新型营销方式
  • 凡科能上传自己做的网站好搜搜索引擎
  • 广西商城网站建设今日最新国际新闻头条
  • 做下载网站制作公司网站
  • 佛山网站建设报价外贸网站建设平台
  • 学校网站模板 中文北京网站优化方式
  • 做调查赚钱靠谱的网站免费推广的渠道有哪些
  • 红叶网站开发工作室站长之家网站流量查询
  • 易县做网站的在哪线上营销的优势和劣势
  • 正规手机网站建设平台外包公司是正规公司吗
  • 如何更新网站快照怎样设计一个网页
  • 三合一网站一般多少钱行业关键词查询
  • 可以在家做兼职的网站网络推广推广培训
  • 燕郊网站建设哪家好刷外链工具