XHR图像上传请求成功,但状态为0且responseText为空

时间:2017-10-09 23:46:42

标签: xmlhttprequest cors

我正在制作带有凭据的跨网站发布请求,以将图片上传到网站。该方法具有服务器端的CORS头以允许跨站点请求。图像上传成功,我可以在“网络”选项卡中看到XHR JSON响应,其中包含我需要捕获的上传ID。

但控制台正在报告:

  

无法加载https://externaldomain.com:否   请求中存在“Access-Control-Allow-Origin”标头   资源。因此,不允许来源“http://example.com”访问

...而xhr.status0xhr.responseText为空。

如何访问responseText以及我需要的上传ID?

上传工作有点奇怪,我可以看到请求响应。

示例代码(目前提供警告'提交图片时出错:0'):

var form = new FormData();
var xhr = new XMLHttpRequest();
xhr.open('POST', 'https://externaldomain.com/api/assetupload', true);    
xhr.onreadystatechange = function() {
  console.info(xhr);
  if (xhr.readyState == 4) {
    if (xhr.status == 200) {
      alert('Success: ' + xhr.responseText);
    } else {
      alert('Error submitting image: ' + xhr.status);
    }
  }
};
form.append('Title', title);
form.append('file', blob, 'test.png');
xhr.withCredentials = true;
xhr.send(form);

0 个答案:

没有答案