使用 axios 获取本地 JSON 数据时遇到问题

问题描述 投票:0回答:3

我正在尝试使用 axios 从本地 json 文件获取数据。在控制台下我什至得不到回应,所以我想我应该在这里问一下。

.js 文件:

var loadData;

function loadData() {
    axios({
        url: "[filepath]/json/docs.json", 
        responseType: 'json',
        credentials: "include",
        mode: "no-cors",
        headers: {
            "Accept": "application/json; odata=verbose"
        }           
    }).then((response) => {
        console.log(response.data);      
    })
}

.then((response)
行上,它告诉我有一个语法错误——我认为它与响应语法有关,但我不太确定。有什么想法吗?

javascript node.js json axios response
3个回答
24
投票

只需将 json 文件放在 public 文件夹中并使用 axios 调用它即可。 假设您的项目的 public 文件夹中有一个名为 data.json 的 json 文件。

然后这样称呼它

    axios.get('data.json')
    .then(res => console.log(res.data))
    .catch(err => console.log(err))

在此之前,请确保导入 axios。 喜欢,

import axios from 'axios';

希望有帮助。


7
投票

我可以知道为什么你需要 axios 吗?直接导入json即可使用。实际上甚至不需要该功能。如果你还想保留这个功能,这里有一个方法。

import data from '[filepath]/json/docs.json'

function loadData() {
  return data;
}

6
投票

使用获取

test() {
    fetch('[filepath]/json/docs.json')
      .then(r => r.json())
      .then(json => {
      })
}

或者将您的文件放入公共文件夹

axios.get('docs.json') .then(//...)
© www.soinside.com 2019 - 2024. All rights reserved.