Javascript笔记-跨域xmlhttpRequest跨域Cors
Q.XMLHttpRequest跨域:
记一个问题:
今天从阿里云的OSS服务里用XMLHttpRequest请求图片(OSS已经配置CORS),结果却还是报CORS错误
然后Chrome启用Disable Cache 或请求头里添加"Cache-Control","no-cache"后却没有问题了。
排查原因,发现是CORS安全响应头的问题,没有匹配上OSS的CORS配置.
CORS 安全响应头列表和文档:https://developer.mozilla.org/en-US/docs/Glossary/CORS-safelisted_response_header
XMLHttpRequest CORS 扩展例子:
function createCORSRequest(method, url) { let xhr = new XMLHttpRequest(); if ("withCredentials" in xhr) { // XHR for Chrome/Firefox/Opera/Safari. xhr.open(method, url, true); } else if (typeof XDomainRequest != "undefined") { // XDomainRequest for IE. xhr = new XDomainRequest(); xhr.open(method, url); } else { // CORS not supported. xhr = null; } return xhr; } let req = new createCORSRequest('GET', 'https://xunchayun.oss-cn-beijing.aliyuncs.com/3dImage/20190715/9058134a-d375-4f36-8192-906c02576848.jpg'); xhr.setRequestHeader("Cache-Control","no-cache"); req.send();
本文原创,不定时更新
可以随意转载到任何网站
~但是~ 转载也要按“基本法”
请注明原文出处和作者