时间:2023-02-20 18:22:01 | 来源:建站知识
时间:2023-02-20 18:22:01 来源:建站知识
JavaScript跨域:http://qq.com和http://www.qq.com不同源(域名)同源策略:浏览器规定,如果JS运行在源A中,那么就只能获取到源A的数据,不能获取源B的,即不允许跨域访问。同源策略一句话概括就是:不同源的页面之间,不允许相互访问数据。
https://qq.com:8888和https://qq.com:8889不同源(端口号)
https://qq.com:8888和http://qq.com:8888不同源(协议)
//语法
Access-Control-Allow-Origin: * //该资源可以被 任意 外域访问
Access-Control-Allow-Origin: https://foo.example //服务端仅允许来自https://foo.example
的访问
////封装一个jsonpfunction jsonp(url) { return new Promise((resolve, reject) => { const random = Math.random() window[random] = (data) => { resolve(data) //成功调用resolve } const script = document.createElement('script') script.src = `${url}?callback=${random}` script.onload = () => { script.remove()//加载完后干掉 } script.onerror = () => { reject() //失败调用reject } document.body.appendChild(script) })}
关键词: