你好,聪明的人!
我已经坐了几个小时,试图弄清楚为什么不能使用Ajax加载本地JSON文件。我打赌这是个愚蠢的错误,我完全误解了一些东西。我用的是Node.js快递。
这两个文件的位置:
“无轨电车/视图/trips.ejs”(执行ajax-请求)
有轨电车/列车/快车.
$.ajax(
{
type: "GET",
url: "../json/allstops.json",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
alert('success');
},
error: function (msg) {
alert("error");
alert(msg.responseText);
}
});我尝试过在各种变体中更改URL:
./alltops.json
allstops.json
json/万事通
/json/万事通
/json.allstops.json
不管我输入了什么,我都会得到404错误。
GET http://localhost:1337/json/allstops.json 404 (Not Found) jquery.min.js:4我是否输入了错误的URL,或者我的代码中是否有其他我没有检测到的问题?我对JSON和Javascript非常陌生,所以我不会感到惊讶。
我真的很感激你给我一些小费!
最佳/J
发布于 2017-04-28 08:32:12
我是否输入了错误的URL,或者我的代码中是否有其他我没有检测到的问题?
这取决于您是否可以访问示例中请求中的URL:
GET http://localhost:1337/json/allstops.json 404 (Not Found) jquery.min.js:4查看在使用浏览器访问http://localhost:1337/json/allstops.json时是否看到了正确的JSON。如果您得到404,那么这个JSON不会在这个路径上使用,问题可能是您的后端不能提供JSON,也可能是您使用了错误的URL。
如果您没有包含一行代码,甚至连一行代码都不包含,那么就不可能告诉您后端代码是否还行,这些代码实际上试图提供所讨论的JSON。
我的假设是您没有为JSON文件提供服务。
我假设整个应用程序都位于trollytrains目录中,并且在其中有一个json目录。为了提供服务,如果您使用Express,您需要使用类似的东西:
app.use('/json', express.static(path.join(__dirname, 'json')));有关使用或不带Express的静态文件的更多选项,请参见以下答案:
发布于 2017-04-28 08:28:41
尝尝这个。
$.ajax({
url: '../json/allstops.json',
dataType: 'json',
data:
async: false,
success:function()
{}
});https://stackoverflow.com/questions/43675407
复制相似问题