我在WebStorm中工作,正在尝试用JavaScript读取一个文本文件(file.txt
)。我尝试过使用Ajax、XMLHttpRequest和fetch来做这件事,但它们都返回了404错误消息。
这是我的目录层次结构:
注意:我使用以下代码引用来自artikels.js
的文件:
const xhr = new XMLHttpRequest();
xhr.open('GET', 'data/file.txt', false);
xhr.onload = function() {
if (this.status == 0) {
const resp = this.response;
console.log(resp);
} else {
console.log("fail");
}};
xhr.send();
我一直在尝试将链接更改为以下形式:
assets/js/own/data/file.txt
/assets/js/own/data/file.txt
./data/file.txt
我应该如何编写链接才能使其正常工作?
已解决:
我犯的错误是,我从artikels.js文件开始构建file.txt
的路径……在尝试了Location.pathname
方法之后(感谢ibrahim tanyalcin的建议),我发现当前位置是具有到artikels.js
文件的“链接”的HTML页面的位置,而不是artikels.js
位置……
以下是插图:
发布于 2018-08-15 09:16:22
XMLHttpRequest()
已知的唯一绝对网址是运行此脚本的文档的网址。
因此,如果您想使用相对,它们应该是相对于文档的URL的URL。
因此:
xhr.open('GET', 'assets/js/own/data/file.txt', false);
或者,如果assets文件夹始终位于站点的根目录,则可以使用根相对URL:
xhr.open('GET', '/assets/js/own/data/file.txt', false);
https://stackoverflow.com/questions/51851588
复制相似问题