1,问题来源:
当我们在做开发的时候,有时候需要将前后端分别部署在两台或者更多的服务器上面,然后再做前后端通信的时候就会出现无法访问的问题,这个问题的来源主要是因为
浏览器的安全策略,不进行设置的话是不允许进行跨域访问的。即时是你在同一台机器上的同一个Tomcat容器中,只要不是同一个项目,通信就无法完成。
2,详情解读:
其实在这个操作的过程中是分两部分的,首先是页面端发起对后台程序的访问的时候是可以操作的,而且处理后的数据也response回来了,只是浏览器自身的安全处理上
不允许这类数据的接受。对于这个问题的解决有很多,比如ajax的访问方式修改为jsonp,或者在服务器端将访问返回的数据的消息头进行修改。这里主要说明第二种方式:在服务
器端,返回数据到客户端主要是依靠response进行的操作。加入下面的代码即可实现跨域的数据传输:
respons.setHead("Access-Control-Allow-Origin","*")
其中*代表任意连接,这里可以替换为前端页面服务器的ip