我正在制作带有凭据的跨网站发布请求,以将图片上传到网站。该方法具有服务器端的CORS头以允许跨站点请求。图像上传成功,我可以在“网络”选项卡中看到XHR JSON响应,其中包含我需要捕获的上传ID。
但控制台正在报告:
无法加载https://externaldomain.com:否 请求中存在“Access-Control-Allow-Origin”标头 资源。因此,不允许来源“http://example.com”访问
...而xhr.status
为0
,xhr.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);