vue axios 数据(data)赋值问题

总结一下我遇到的一个纠结很久的问题。

在项目中需要用到后台的数据对前端渲染,使用到了vue整合的axios,使用vue中的钩子函数在页面组件挂载完成之后向后台发送一个get请求然后将返回后的数据赋值data()中定义的属性:


执行后前端报错:


原因:

在请求执行成功后执行回调函数中的内容,回调函数处于其它函数的内部this不会与任何对象绑定,为undefined。

解决方案:

一)将指向vue对象的this赋值给外部方法定义的属性,然后在内部方法中使用该属性


二)使用箭头函数

转载自https://blog.csdn.net/bryant953/article/details/79411688
  • 10
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
Vue 中使用 Axios 发送请求可以按照以下步骤进行: 1. 安装 Axios 通过 npm 安装 Axios: ``` npm install axios ``` 2. 在 Vue 中使用 Axios 在需要发送请求的组件中,可以使用以下代码引入 Axios: ```javascript import axios from 'axios' ``` 然后可以使用 Axios 发送请求: ```javascript axios.get('/api/data') .then(function (response) { console.log(response) }) .catch(function (error) { console.log(error) }) ``` 以上代码发送了一个 GET 请求到 /api/data 接口,并在控制台输出了响应数据或错误信息。 3. 配置 AxiosVue 项目中,可以通过在 main.js 中配置 Axios 的全局默认值来设置一些默认的请求参数和响应处理: ```javascript import axios from 'axios' axios.defaults.baseURL = 'http://api.example.com' axios.defaults.headers.common['Authorization'] = 'Bearer ' + localStorage.getItem('token') axios.defaults.headers.post['Content-Type'] = 'application/json' Vue.prototype.$http = axios ``` 以上代码设置了 Axios 的默认请求地址、请求头部授权信息和 POST 请求的默认 Content-Type,然后将 Axios 实例挂载到 Vue.prototype 上,以便在组件中使用 this.$http 调用 Axios。 4. 在组件中使用 Axios 在组件中使用 Axios 发送请求也很简单,可以在组件的 methods 中定义一个发送请求的方法: ```javascript import axios from 'axios' export default { name: 'MyComponent', methods: { fetchData () { axios.get('/api/data') .then(response => { this.data = response.data }) .catch(error => { console.log(error) }) } } } ``` 以上代码定义了一个 fetchData 方法,当组件被创建时调用该方法,发送 GET 请求到 /api/data 接口,并将响应数据赋值给组件的 data 属性。如果请求失败,则在控制台输出错误信息。 以上就是在 Vue 中使用 Axios 发送请求的基本步骤。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值