同源策略
- JSONP .利用script标签 src属性 不会受到同源策略限制,并且资源加载完成后会被当作JS脚本立即执行的特点,来达到跨域请求资源的目的。 只支持get请求,很难判断请求是否失败(一般是通过请求是否超时)
实现一个JSONP
function jsonp(url,callBack){
const script = document.cureatElement('scrpit');
script.src='url'+'&callback='+callBack;
document.body.appendChild(script);
}
function handleResponse(data) { console.log('Received data:', data); }
// Usage jsonp('https://api.example.com/data?param1=value1¶m2=value2', 'handleResponse');
-
cors cross-origin-resource-share 跨域资源共享
origin 请求头
相应头 允许跨域的话 Access-Control-Allow-origin: */指定域名
-
反向代理 通过代理服务器,绕过浏览器,请求目标服务器的数据,可以配置脚手架或者webpack devSever下的proxy选项,将开发时的/api接口请求转发到真实服务器上。 或者利用代理软件例如charles实现