面试题系列--【为什么会出现跨域? 跨域怎么解决?】
一、为什么会出现跨域?
前端服务和后端服务的协议、Ip、端口这三者中只要有一个不同,就会触发浏览器的同源策略,导致后端响应给浏览器的数据无法被浏览器渲染。
二、如何解决跨域问题?
常用的解决方案有3种:
1.jsonp
JSONP实现跨域的原理简单的说,就是动态创建script标签,然后利用script的src 不受同源策略约束来跨域获取数据。 JSONP只支持GET请求
2.cors(跨域资源共享)
在后端响应数据的时候,设置响应头,在响应头上设置Access-Control-Allow-Origin的值为*(允许所有域名访问)
cors支持所有请求
3.反向代理