ajax本地json失败(ajax 本地json)
导读:最近在开发过程中,遇到了一个问题:本地json文件无法用Ajax获取数据。首先,我尝试使用以下代码:$.ajax({url: "data.json",dataType: "json",success: function(data {con...
最近在开发过程中,遇到了一个问题:本地json文件无法用Ajax获取数据。
首先,我尝试使用以下代码:
$.ajax({
url: "data.json",dataType: "json",success: function(data) {
console.log(data);
}
,error: function(xhr, textStatus, errorThrown) {
console.log(xhr.responseText);
}
}
);
然而,无论我如何尝试,数据似乎都无法从本地JSON文件中获取。
经过搜索和讨论,我发现这是由于本地的JSON文件无法通过Ajax和XMLHttpRequest读取。这是由于浏览器的安全策略所限制造成的。但是,这个问题可以通过使用服务器来解决。
因此,我在本地搭建了一个轻量级的服务器并将json文件放在该服务器上。以下是我用于创建服务器的代码:
const express = require('express');
const app = express();
const port = 3000;
app.use(express.static('public'));
app.listen(port, () =>
console.log(`Server running on port ${
port}
...`));
我将json文件放在public文件夹中,并通过访问"http://localhost:3000/data.json"来获取它。最终,我重新编写了Ajax请求代码,如下所示:
$.ajax({
url: "http://localhost:3000/data.json",dataType: "json",success: function(data) {
console.log(data);
}
,error: function(xhr, textStatus, errorThrown) {
console.log(xhr.responseText);
}
}
);
现在,我可以成功地从本地JSON文件中获取数据了!
总结而言,本地JSON文件无法通过Ajax获取的问题,是由于浏览器的安全策略所限制造成的。为解决这个问题,可以使用服务器将JSON文件放在服务器上,并通过服务器来获取JSON数据。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: ajax本地json失败(ajax 本地json)
本文地址: https://pptw.com/jishu/315728.html
