axios请求本地json文件

1.安装axios

npm install axios --save

2.在main.js中引入

import { createApp } from 'vue'
import axios from 'axios'
import VueAxios from 'vue-axios'
const app = createApp(App)
app.config.globalProperties.$http = axios;
app.use(VueAxios, axios)

3.在根目录下的public文件夹data文件夹下新建一个userlist.json文件内容如下

 

{
    "data":{
        "sucess":200,
        "userList":[
            {
                "success":200,
                "name":"王三",
                "key":0,
                "age":21,
                "address":"海珠区琶洲会展中心"
            },
            {
                "success":200,
                "name":"李五",
                "key":1,
                "age":32,
                "address&#
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当使用 Axios 请求本地 JSON 文件时,有可能会遇到 304 Not Modified 状态码的响应。这是因为浏览器在请求静态资源时,会在本地缓存中查找该资源,如果缓存中已经有该资源的副本并且其 ETag 没有发生变化,则服务器会返回 304 状态码,并告诉浏览器可以直接使用本地缓存中的资源。 为了避免这种情况的发生,我们可以在 Axios 请求时添加一些配置项,强制让浏览器每次都向服务器发送请求,而不是从本地缓存中获取资源。具体方法如下: ```javascript axios.get('data.json', { headers: { 'Cache-Control': 'no-cache', 'Pragma': 'no-cache' } }).then(response => { console.log(response.data); }).catch(error => { console.error(error); }); ``` 在上述代码中,我们向 Axios 的 get 方法中添加了 headers 配置项,该配置项中包含了两个属性:Cache-Control 和 Pragma。这两个属性会告诉浏览器不要使用缓存,而是每次都向服务器发送请求。 另外,我们也可以在服务器端设置响应头,告诉浏览器不要缓存该资源。具体方法如下(以 Node.js 为例): ```javascript const express = require('express'); const app = express(); app.get('/data.json', (req, res) => { res.setHeader('Cache-Control', 'no-cache'); res.setHeader('Pragma', 'no-cache'); res.sendFile(__dirname + '/data.json'); }); app.listen(3000, () => { console.log('Server is listening on port 3000'); }); ``` 在上述代码中,我们在服务器端设置了两个响应头:Cache-Control 和 Pragma,与前面的 Axios 配置项相同。这样浏览器每次请求该资源时,服务器都会返回一个新的响应。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值