前两天刚遇到一个问题,因为要加载阿里云地址的json文件,刚开始用的本地存放的json文件axios get加载,
import ajax from 'axios'
Vue.prototype.$http=ajax;
this.$http.get('/global/Home.json').then((res) => {
console.log(res.data);
that.dataList=res.data;
});
结果本地正常,放在服务器上竟然是我昨天的代码。百度了一圈,服务器DNS也刷新了,还是没有任何作用。最后在后端的提示下,说vue是单页面应用,是不会自己刷新的,可能存在缓存。然后我就顺着这个思路去想,果然是存在缓存的,只要地址没改变,浏览器就会读取以前的代码。最后加个版本号解决了。
![8f008f6fd9cf381c0ea29cdb778ad39a.png](https://i-blog.csdnimg.cn/blog_migrate/73b67514617630ee7a817ec006d9f740.jpeg)
接着说要加载阿里云的json文件,axios get加载本地文件是可以的,但是加载外部第三方的文件是会存在跨域问题的。所以我是在index.html里面用script src来引入的。
![6b00db8540c13d05133c8b53c3945e7f.png](https://i-blog.csdnimg.cn/blog_migrate/4befca3e329f05f003bacf9674e4d119.png)
在vue文件中获取:const arr=window.database; 就可以正常使用了。
如果你的json是动态的,需要在vue文件里面获取的话,可以采用下面这种方法:
![34ffbe41403c2ee94e89f67d23442e5e.png](https://i-blog.csdnimg.cn/blog_migrate/de94bad96c6c3c683377bc5d6de9ea30.jpeg)