什么是跨域:跨域指的是浏览器需要遵循同源策略,只要协议端口域名有一个不同,就会跨域
思考:aiax可以跨域吗?不能
解决方案:
1.jsonp
缺点:只能get请求 比如:文件上传FormDate需要请求体就不行,除了老项目 已经没人用了
原理:动态的创建script 添加src属性(但这个请求是异步的) ,在页面上声明了一个函数,服务器发挥的是函数调用
2.cors
原理:在响应头添加 Access-Control-Allow-Origin:*
3.反向代理
原理:只有浏览器上有同源策略,服务器与服务器之间数据通信不存在跨域问题.
module.exports = {
proxy: {
// 请求时的路径包含/api 就会走代理服务器
'/api': {
// target目标:真实的接口服务器
target: ' http://ihrm-java.itheima.net '
// pathRewrite:路径重写
// pathRewrite: {
// '^/api': ''
// }
}
}
}