如果我像这样以编程方式注入脚本:
((global, url) => {
let s = document.createElement('script')
s.src = url
global.document.body.appendChild(s)
})(window, 'https://example.com')
请求将顺利通过,脚本将插入对请求的响应到"https://example.com"…但如果我想明确地使用取回请求到相同的URL,我得到一个CORS错误?为什么会这样呢?
你刚刚发明了JSONP:D来自w3school的描述:
JSONP表示带填充的JSON。从另一个请求文件由于跨域策略,域可能会导致问题。请求一个来自另一个域的外部脚本没有这个问题。JSONP利用这个优点,请求文件使用脚本标记代替XMLHttpRequest对象
下面是关于stackoverflow的解释