xhr资源下载请求

时间:2017-10-05 14:22:16

标签: javascript jquery cors

xhr.open('GET', 'url/url_filePath=mydownload.zip', true);
    xhr.responseType = 'blob';
    let that = this;
    
    xhr.onload = function(e) {
      if (this.status == 200) {
        let data = this.response;
        const blob = new Blob([data], {type: 'application/octet-stream'});
        const file = new File([blob], 'mydownload.zip', {type: 'application/zip'});
        that.han
        that.setState((prevState, props) => {
          return {
            install : false
          };
        });
      }
    };
    xhr.send();

我有上面的代码行来下载和上传一个zip文件。每次我尝试下载请求时,我都会收到“Access-Control-Allow-Origin”标头错误。我使用镀铬扩展来解决这个问题,但是我需要一个不需要镀铬扩展的可扩展解决方案。有什么指针吗?

1 个答案:

答案 0 :(得分:1)

服务器发送的CORS标头基本上说明允许哪些来源从该特定服务器请求资源。来自MDN

  

出于安全原因,浏览器会限制跨源HTTP请求   从脚本中启动。例如,XMLHttpRequest和Fetch   遵循同源政策。所以,一个web应用程序使用   XMLHttpRequest或Fetch只能向自己发出HTTP请求   域。

要允许您的Web应用程序从该源获取资源,服务器必须发送CORS标头。

格式应遵循:Access-Control-Allow-Origin: https://example.com