先生们,我只是无法理解问题所在。在页面上,单击时,会执行一个 js 代码,该代码从页面获取指向第三方域上文件的链接,之后(理论上)发出 XMLHttpRequest 请求,将该文件接收到变量中一个字符串。
但问题是在获取链接并尝试获取其内容后,它会抛出错误
来自外部源的请求被阻止:单源策略禁止读取远程资源(这里是文件的链接)。(原因:缺少 CORS 标头“Access-Control-Allow-Origin”)。
我正在尝试获取文件的内容
var XHR = ("onload" in new XMLHttpRequest()) ? XMLHttpRequest : XDomainRequest;
var xhr = new XHR();
xhr.open('GET', urlindef, true);
xhr.withCredentials = true;
xhr.onload = function() {
alert( this.responseText );
}
xhr.onerror = function() {
alert( 'Ошибка ' + this.status );
}
xhr.send();
其中urlindef是指向正在加载的实际文件的链接。
好吧,并相应地消除了 alert() 中的错误。此外,如果您尝试在同一浏览器中打开相同的链接,在新标签页中,所有内容都会打开并允许您立即下载。如何解决此问题并正确撰写获取数据的请求?我将立即进行预订 - 我无权访问该服务器,也无法在标头或 htaccess 中设置 Access-Control-Allow-Origin: * 参数。
我只是无法理解为什么通过我的双手通过浏览器一切正常,但实际上,当从同一页面发送请求时,我得到了一个错误,尽管理论上我应该连接一切。
意味着使您想要的(带有凭据的请求),您也做不到。一切。