在Javascript中从文件导入数组
我在自己的文件中有一个字符串数组,我希望在客户端Javascript中将其用作变量。我一直在尝试各种在Javascript中从文件导入数组,javascript,arrays,json,file,import,Javascript,Arrays,Json,File,Import,我在自己的文件中有一个字符串数组,我希望在客户端Javascript中将其用作变量。我一直在尝试各种$.getJSON和函数loadJSON(callback){}解决方案,但一切都给了我错误GEThttp://localhost:3001/strings.json 404(未找到) (我还尝试了名为strings.js的文件,得到了相同的结果) strings.json文件和我的客户端JavaScript文件都在/public/js/目录中,因此我非常确定这不是路径问题 script.js $
$.getJSON
和函数loadJSON(callback){}
解决方案,但一切都给了我错误GEThttp://localhost:3001/strings.json 404(未找到)
(我还尝试了名为strings.js的文件,得到了相同的结果)
strings.json
文件和我的客户端JavaScript文件都在/public/js/
目录中,因此我非常确定这不是路径问题
script.js
$.getJSON("strings.json", function(json){
console.log(json);
});
strings.json
["string 1","string 2","string 3", "string 4", "etc"]
编辑:添加少量实际相关的代码。我知道strings.json
实际上不是json,但它似乎是最符合逻辑的文件类型。如果有更好的方法,请告诉我。错误是按原样说,找不到您的文件
除非将strings.json
放在网页的同一目录中,否则为$.getJSON
提供的路径不正确
尝试在函数中放置绝对路径,即:
$.getJSON("/public/js/strings.json", function(json){
console.log(json);
});
编辑:如果它已经在同一目录中,请尝试在路径前面加“/”以指示路径在同一目录中:
$.getJSON("./strings.json", function(json){
console.log(json);
});
编辑:最后,如果仍然无法正确导航,还可以尝试将路径作为参数提交到服务器脚本中的$.getJSON
。例如,如果您使用ASP C#,您可以使用:
currPath = Page.ResolveUrl("~/public/js/strings.json");
然后将currPath
作为以下pathVal
的参数传递:
function getThis(pathVal){
$.getJSON(pathVal, function(json){
console.log(json);
});
}
或者php中的类似内容。请注意,这可能会使您的代码变得凌乱,但它可以工作。请共享整个代码当您将浏览器指向http://localhost:3001/strings.json
?“strings.json文件和我的客户端JavaScript文件都在/public/js/
目录中,”GEThttp://localhost:3001/strings.json 404(未找到)
“您没有从/public/js/
目录请求资源。请将传递到$.getJSON()
的URL更改为”http://localhost:3001/public/js/strings.json"
@Malvolio在问题中,我得到了一个404未找到错误。更具体地说,页面呈现:Cannot get/strings。json@guest271314我不认为我需要请求特定的路径,因为文件在同一个目录中,但我还是尝试了,但仍然得到相同的错误。编辑:这确实有效