1.1 什么是跨域?
1.本质是浏览器基于同源策略的安全手段,同源策略,它是浏览器最核心,最基本安全功能 ,协议,域名,端口都相同为同域,否则跨域
1.2. 解决方法
1.jsop原理实现 :借助了script标签 src 请求资源时, 不受同源策略的限制
优点:jsonp没有兼容性问题
缺点:jsonp只能用于get请求
function JSONP({
url,
params,
callbackKey,
callback
}) {
// 在参数里制定 callback 的名字
params = params || {}
params[callbackKey] = 'jsonpCallback'
// 预留 callback
window.jsonpCallback = callback
// 拼接参数字符串
const paramKeys = Object.keys(params)
const paramString = paramKeys
.map(key => `${key}=${params[key]}`)
.join('&')
// 插入 DOM 元素
const script = document.createElement('script')
script.setAttribute('src', `${url}?${paramString}`)
document.body.appendChild(script)
}
JSONP({