django 获取 axios get 过来的数据_Vue实战——集成axios获取数据构建新闻列表页

承接上文Vue实战——vue+router+vuex导航守卫进行身份验证,本文集成axios来获取新闻列表数据。本项目git地址:

https://gitee.com/vuejslearn/news-list.git

首先,安装axios

npm install axios --save

然后我们在package.json里就会看到了axios的依赖了。

48136ce6a6d44208288ee08c0296a430.png

然后在main.js中引入、注入axios:

import axios from 'axios'Vue.prototype.$axios = axios

然后我们就可以在全局通过this.$axios来进行http请求了。接下来,在views目录下,新建页面newsList.vue。然后添加created,method:

这是新闻列表页
{{newsArray}}

在getData函数中,添加axios的get请求:

let _this = this this.$axios.get('https://unidemo.dcloud.net.cn/api/news') .then(function (response) { console.log(response.data) _this.newsArray = response.data }) .catch(function (error) { console.log(error) })

url使事先准备好的,借用Dcloud给的公共url,来获取新闻列表,并显示到页面上。至于,为什么要在axios外面写上let_this=this呢?那是因为this的作用域问题。如果直接在then方法里写this,是不能代表外层的对象的。

关于axios的一些写法:

上面所用的就是get请求:

// 为给定 ID 的 user 创建请求axios.get('/user?ID=12345') .then(function (response) { console.log(response); }) .catch(function (error) { console.log(error); });// 可选地,上面的请求可以这样做axios.get('/user', { params: { ID: 12345 } }) .then(function (response) { console.log(response); }) .catch(function (error) { console.log(error); });

post写法:

axios.post('/user', { firstName: 'Fred', lastName: 'Flintstone' }) .then(function (response) { console.log(response); }) .catch(function (error) { console.log(error); });

当然我们还可以用axiosAPI执行请求:

post请求:

// 发送 POST 请求axios({ method: 'post', url: '/user/12345', data: { firstName: 'Fred', lastName: 'Flintstone' }});

get请求:

// 发送 GET 请求(默认的方法)axios('/user/12345');

当我们的请求发送过去后,如果正常的话在then中我们会接收到服务端返回的信息response。其中包含:

{ // `data` 由服务器提供的响应 data: {}, // `status` 来自服务器响应的 HTTP 状态码 status: 200, // `statusText` 来自服务器响应的 HTTP 状态信息 statusText: 'OK', // `headers` 服务器响应的头 headers: {}, // `config` 是为请求提供的配置信息 config: {}}

我们使用response.data获取我们想要的数据。并显示到页面上。

接着,我们优化我们的newsList页面,增加点css样式,让它漂亮点:

template模板:

{{news.title}}
{{news.summary}}

css:

运行我们的项目:

5664abc10a7006a54d7c73d1a3e7d9e8.png

运行结果图

至此,axios就算集成进来了。下篇文章介绍如何抽离axios,以及优化列表页面然他更漂亮一点。


原创不容易,鉴于本人水平有限,文中如有错误之处欢迎大家指正。以后我会持续发布vue实战系列的文章,喜欢的朋友欢迎关注。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值