vue2.0+ axios如何读取本地json文件的数据

1、用vue-cli搭建起一个hello-world(名字随意)的工程,不做任何修改。

2、引入Axios。

在入口文件main.ts中引入Axios

import Axios from 'axios'
import VueAxios from 'vue-axios'
……

Vue.use(VueAxios, Axios);

……

3、在public文件夹中添加data.json文件

可能很多同学问题都出在这里,从网上搜索发现很多人说json文件应该放在assets目录或static目录下,但是我的却不行(我的vue版本是^2.6.11),一直报404错误,如果出现这样的问题,不妨跟我一样,把json文件放在public目录下

data.json文件内容

{
    "users": [
        {
            "id": "1",
            "code": "admin",
            "name": "admin",
            "nick": "超级管理员",
            "pwd": "aaaaaa"
        },
        {
            "id": "2",
            "code": "Annie",
            "name": "安妮",
            "nick": "管理员一姐",
            "pwd": "aaaaaa"
        },
        {
            "id": "1",
            "code": "jack002",
            "name": "李力夫",
            "nick": "jjjjj",
            "pwd": "aaaaaa"
        }
    ]
}

4、Home.vue修改调用axios

添加了一个按钮,去调用getUserInfo方法。
methods中添加getUserInfo,去请求data.json本地文件,请求的时候注意,不需要添加public目录名

<template>
  <div class="home">
    <img alt="Vue logo" src="../assets/logo.png" />
    <button @click="getUserInfo">获取用户信息</button>
  </div>
</template>

<script lang="ts">
import Vue from "vue";
import HelloWorld from "@/components/HelloWorld.vue"; // @ is an alias to /src

export default Vue.extend({
  name: "Home",
  components: {
    HelloWorld,
  },
  mounted: function () {},
  methods: {
    getUserInfo() {
      this.axios.get("/data.json")
        .then((res) => {
          console.log(res);
        })
        .catch((error) => {
          console.log(res);
        });
    },
  },
});
</script>

5、运行结果

 

  • 10
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值