微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ajax本地json失败

最近在开发过程中,遇到了一个问题:本地json文件无法用Ajax获取数据。

ajax本地json失败

首先,我尝试使用以下代码

$.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",errorThrown) {
        console.log(xhr.responseText);
    }
});

现在,我可以成功地从本地JSON文件获取数据了!

总结而言,本地JSON文件无法通过Ajax获取的问题,是由于浏览器的安全策略所限制造成的。为解决这个问题,可以使用服务器将JSON文件放在服务器上,并通过服务器来获取JSON数据。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐