我正在制作一个网页的前端,现在需要一些json我现在不做后面所以我创建了一个名为map.json的文件并将其放在我的服务器上。
我正在使用node.js作为服务器,因此在公共文件夹中我创建了一个名为jason的新文件夹并将文件保存在那里。
现在我正在对这个文件进行ajax调用,但程序找不到它,当我从谷歌浏览器公开时,我没有看到json文件夹。
我需要做些什么才能看到这个文件并将其上传,因为它是对服务器的ajax调用?
这是我的jquery代码,它在public / javascript中的文件中:
$.ajax('/../json/map.json', {
cache: false,
dataType: "json",
success: function(json) { ... code ... }
});
我真的不知道我应该在noje.js中修改文件或文件
谢谢!
答案 0 :(得分:1)
使用的网址路径在技术上无效。在/
前导..
后,尝试访问域根路径的父目录,该路径不存在。
虽然浏览器可能只是忽略了..
,但你仍然应该选择其中一个 - 或者从root指定路径:
$.ajax('/json/map.json', {
// etc.
});
或相对于当前网页的网址路径(例如/some/page
):
$.ajax('../json/map.json', {
// etc.
});
您还声明该文件夹名为“ jason
”,而请求包含/json/...
。一个可能只是一个错字,但要确保它们匹配。
并且,假设您正在使用static()
中间件,则URL将需要匹配指定的前缀(或缺少一个):
app.use(express.static(__dirname + '/public'));
// $.ajax('/json/map.json', ...);
app.use('/public', express.static(__dirname + '/public'));
// $.ajax('/public/json/map.json', ...);