I have a file tree:
index.html
| js
|
| data.json
| script.js
index.html
is just script.js
script.js
:
(async function() {
var req = await fetch("data.json");
var json = await req.json();
...
})();
I'm trying to access data.json
from script.js
(js
folder) instead of index.html
.
So I can't just use js/script.js
How would I do this?
CodePudding user response:
Apparently you can get a path to the currently running script (if it's not ESM), using document.currentScript
Untested, but this would suggest you can build the path like this:
const dataUrl = new URL('data.json', document.currentScript.src);
const req = await fetch(dataUrl);
// etc
CodePudding user response:
Even though the data.json
is in the same folder as script.js
, since both these files are inside the js
folder relative to index.html
you would have to use
var req = await fetch("js/data.json");