1.概念:
首先浏览器是同源策略,端口号相同,协议相同,域名相同,这种策略会对浏览器有安全作用,而跨域是打破了这种同源策略,任意一个地方不同都会导致跨域
2.解决办法:
- cros:后端设置
1. res.setHeader('Access-Control-Allow-Origin',‘*’)
2. res.setheader('Access-Contaol-Allow-Methods','GET,PUT,OPTIONS,POST')
- jsonp:利用script标签可以跨域请求资源
将回调函数作为参数拼接到url中,后端收到请求,调用回调函数,并将数据作为参数返回去,注意设置响应头返回文档类型,应该设置为javascript
- 使用proxyTable配置
- postmessage:H5新增API,通过发送和接收API实现跨域
- node中间件
- nginx反向代理
3.使用场景:
- 前后端分离开发
- 调用第三方接口