首页 > 编程语言 > 详细

Java后台解决跨域问题

时间:2019-08-19 23:25:05      阅读:126      评论:0      收藏:0      [点我收藏+]

首先说一下什么是跨域?

JavaScript出于安全方面的考虑,不允许跨域调用其他页面的对象。那什么是跨域呢,简单地理解就是因为JavaScript同源策略的限制,a.com域名下的js无法操作b.com或是c.a.com域名下的对象。

当协议、子域名、主域名、端口号中任意一个不相同时,都算作不同域。不同域之间相互请求资源,就算作“跨域”。

例如:http://www.abc.com/index.html 请求 http://www.efg.com/service.php。

 

有一点必须要注意:跨域并不是请求发不出去,请求能发出去,服务端能收到请求并正常返回结果,只是结果被浏览器拦截了。之所以会跨域,是因为受到了同源策略的限制,同源策略要求源相同才能正常进行通信,即协议、域名、端口号都完全一致。

 

在这之前小冷自己写了个简单的前端页面(注意此页面使用vue),这里涉及的是前后端分离的操作,小冷使用vue中的ajax直接请求的后台的服务器,当然后台可以用任何语言实现数据传输(可使用java,python,node,php,c++,c#等),小冷使用的是java语言编写的后台的代码,此时就涉及到了跨域。

  1. 首先是前台数据可以传到

  2. 技术分享图片技术分享图片

  3. 然而后台却无法相应回前台页面(这里页面会抛一个异常,说太安全,无法获取请求后响应的数据--暂时就这样理解吧嘻嘻)技术分享图片

  4. 请求代码
  5. 技术分享图片
  6. java解决方法:

    此处java使用的springboot框架,解决中使用的一个注解

    @CrossOrigin(origins = "*", maxAge = 3600) //* 可以改成ip地址

    加如此注解后

  7. 技术分享图片
  8. 获取到响应的数据,此处注解可以配置全局,亦可以配置方法局部小冷配置为全局

    技术分享图片

     

    此处基本跨域问题基本解决!

     

    前端vue跨域的解决方法:

    技术分享图片

  9. 大家可以关注我的微信公众号”秦川以北“,里面还有好多实用的技术分享!

  10.  

     

Java后台解决跨域问题

原文:https://www.cnblogs.com/qinyuanyuan/p/11380379.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!