当你在浏览器中打开了一个网站并且该网站发起了一个请求去访问另外一个域名下的资源时,就会产生跨域问题。
浏览器为了保证用户的安全,设计了 “同源策略”,即只有当协议、域名和端口都相同时才允许数据或脚本进行交互。例如,当页面在http://www.example.com 中,它只能够请求网站内部的资源,而不能请求 http://www.baidu.com 的资源。
而跨域请求就是指与当前域名不同的域名或端口的请求。这种情况下,如果服务器响应头信息中没有设置允许跨域,则浏览器就会限制向该跨域的请求发送数据,即出现跨域问题。
解决跨域问题可以有多种方式,例如在服务器端设置响应头Access-Control-Allow-Origin来允许特定的域名或者所有域名的请求,或者通过 JSONP、CORS、代理等方式。