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

Bod*_*rov 4 javascript json response node.js axios

我正在尝试使用 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);      
    })
}
Run Code Online (Sandbox Code Playgroud)

.then((response)它告诉我行我有一个语法错误---我认为这是关于响应语法,但我不那么肯定。有什么想法吗?

Alo*_*jan 9

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

然后称之为

    axios.get('data.json')
    .then(res => console.log(res.data))
    .catch(err => console.log(err)
Run Code Online (Sandbox Code Playgroud)

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

import axios from 'axios';
Run Code Online (Sandbox Code Playgroud)

希望能帮助到你。


Ava*_*ika 7

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

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

function loadData() {
  return data;
}
Run Code Online (Sandbox Code Playgroud)


var*_*ons 6

使用获取

test() {
    fetch('[filepath]/json/docs.json')
      .then(r => r.json())
      .then(json => {
      })
}
Run Code Online (Sandbox Code Playgroud)

或者将您的文件放在公共文件夹中

axios.get('docs.json') .then(//...)
Run Code Online (Sandbox Code Playgroud)