无法通过AJAX在Chrome中获取文件

问题描述 投票:0回答:1

我在vanilla js学习AJAX。我通过以下代码获得了get请求(AJAX)。

document.addEventListener('DOMContentLoaded', () => {
console.log('ready!');
let xhr = new XMLHttpRequest();
xhr.onreadystatechange = () => {
    if (xhr.readyState === 4)
        document.getElementById('file-data').innerText = xhr.responseText;
    xhr.send();
}
xhr.open('GET', 'file:///E:ada/kk.js', true);
});

这在Firefox中完美运行但在chrome中我遇到以下错误: -

kk.js:7 Failed to load file:///E:/ada/kk.js: Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https.

xhr.onreadystatechange @ kk.js:7

kk.js:7 Uncaught DOMException: Failed to execute 'send' on 'XMLHttpRequest': The object's state must be OPENED.
at XMLHttpRequest.xhr.onreadystatechange (file:///E:/ada/kk.js:7:9)
at XMLHttpRequest.xhr.onreadystatechange (file:///E:/ada/kk.js:7:9)
at HTMLDocument.document.addEventListener (file:///E:/ada/kk.js:9:5)
javascript ajax google-chrome
1个回答
1
投票

那是因为您从本地计算机加载文件,因为它不是http调用,您会收到cors错误消息

您应该将文件托管在http://example.com/path/to/file等网址中,或者在本地服务器中提供

© www.soinside.com 2019 - 2024. All rights reserved.