首先说一下什么是跨域?php
JavaScript出于安全方面的考虑,不容许跨域调用其余页面的对象。那什么是跨域呢,简单地理解就是由于JavaScript同源策略的限制,a.com域名下的js没法操做b.com或是c.a.com域名下的对象。html
当协议、子域名、主域名、端口号中任意一个不相同时,都算做不一样域。不一样域之间相互请求资源,就算做“跨域”。前端
例如:http://www.abc.com/index.html 请求 http://www.efg.com/service.php。vue
有一点必需要注意:跨域并非请求发不出去,请求能发出去,服务端能收到请求并正常返回结果,只是结果被浏览器拦截了。之因此会跨域,是由于受到了同源策略的限制,同源策略要求源相同才能正常进行通讯,即协议、域名、端口号都彻底一致。java
在这以前小冷本身写了个简单的前端页面(注意此页面使用vue),这里涉及的是先后端分离的操做,小冷使用vue中的ajax直接请求的后台的服务器,固然后台能够用任何语言实现数据传输(可以使用java,python,node,php,c++,c#等),小冷使用的是java语言编写的后台的代码,此时就涉及到了跨域。node
首先是前台数据能够传到python
然然后台却没法相应回前台页面(这里页面会抛一个异常,说太安全,没法获取请求后响应的数据--暂时就这样理解吧嘻嘻)c++
java解决方法:ajax
此处java使用的springboot框架,解决中使用的一个注解spring
@CrossOrigin(origins = "*", maxAge = 3600) //* 能够改为ip地址
加如此注解后
获取到响应的数据,此处注解能够配置全局,亦能够配置方法局部小冷配置为全局
此处基本跨域问题基本解决!
前端vue跨域的解决方法:
你们能够关注个人微信公众号”秦川以北“,里面还有好多实用的技术分享!