这篇“怎么使用vue3 axios实现数据渲染”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么使用vue3 axios实现数据渲染”文章吧。
创新互联公司是专业的亚东网站建设公司,亚东接单;提供成都网站制作、做网站,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行亚东网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
1、axios的作用是什么呢?
axios主要是用于向后台发起请求的,还有在请求中做更多是可控功能。
2、项目安装axios及其他环境
打开cmd 进入项目根目录(src同级目录) ,输入命令 npm install axios
3、新建axios.js 内容复制以下

axios.js
import axios from "axios";
import qs from "qs";
// axios.defaults.baseURL = '' //正式
axios.defaults.baseURL = 'http://localhost:8099' //测试
//post请求头
axios.defaults.headers.post["Content-Type"] ="application/x-www-form-urlencoded;charset=UTF-8";
//设置超时
axios.defaults.timeout = 10000;
axios.interceptors.request.use(
config => {
return config;
},
error => {
return Promise.reject(error);
}
);
axios.interceptors.response.use(
response => {
if (response.status == 200) {
return Promise.resolve(response);
} else {
return Promise.reject(response);
}
},
error => {
alert(`异常请求:${JSON.stringify(error.message)}`)
}
);
export default {
post(url, data) {
return new Promise((resolve, reject) => {
axios({
method: 'post',
url,
data: qs.stringify(data),
})
.then(res => {
resolve(res.data)
})
.catch(err => {
reject(err)
});
})
},
get(url, data) {
return new Promise((resolve, reject) => {
axios({
method: 'get',
url,
params: data,
})
.then(res => {
resolve(res.data)
})
.catch(err => {
reject(err)
})
})
}
};4、直接在vue页面引用,axios.get或者.post方法
(vue2需要在main.js中挂载全局,vue3每次引用都需要 import,感觉有些臃肿)。
请求状态码:{{code}},请求状态:{{msg}}
编号 图书名称 作者 {{item.id}} {{item.name}} {{item.author}}
展示运行效果
后端接口:

前端展示:

5、踩坑记录
问题1:vue3 axios Error: Network Error
跨域请求问题,我是在后端拦截器类中处理的 ,重写 addCorsMappings 方法
//跨域问题
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedHeaders("*")
.allowedMethods("*")
.allowedOriginPatterns("*")
.allowCredentials(true);
}问题2:Cannot set properties of undefined (setting 'books')
或者ReferenceError: books is not defined
不能直接给变量赋值,需要通过 methods 方法中 const vm = this; 获取变量赋值;
vue 请求接口代码需要放置methods,且在created()或者mounted()周期函数中调用该方法。
created() { //生命周期函数(或者 mounted 函数)调用的方法才能运行
this.getShops();
},
methods: {
getShops: function () {
const vm = this; //传获取的结果 给页面
}
}问题3:Uncaught ReferenceError: Vue is not defined
或者Cannot read properties of undefined (reading 'get')
vue3不是通过Vue对象挂载,后面我每个页面直接引用了axios(目前vue3好像只有这种方式)

以上就是关于“怎么使用vue3 axios实现数据渲染”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注创新互联行业资讯频道。
本文名称:怎么使用vue3axios实现数据渲染
分享URL:http://www.jxjierui.cn/article/jieshi.html


咨询
建站咨询
