当前位置: 首页 > 编程笔记 >

Vue中Axios从远程/后台读取数据

慕容星晖
2023-03-14
本文向大家介绍Vue中Axios从远程/后台读取数据,包括了Vue中Axios从远程/后台读取数据的使用技巧和注意事项,需要的朋友参考一下

Axios从远程读取数据

学习Axios的知识,并把数据从远端读取到页面上。后端数据,只要调用相应的页面就可以调取,在实际开发中,这些后台数据是需要后端程序员和你共同讨论制作的。我们现在只做前端,数据大家只要会调用即可。

安装Axios

我们直接使用npm install来进行安装。

cnpm install axios –save

由于axios是需要打包到生产环境中的,所以我们使用–save来进行安装。

引入Axios(在哪个模块中使用就在哪个模块中引入)

我们在.vue页面引入Axios,由于使用了npm来进行安装,所以这里不需要填写路径。

服务端拉取数据

(在实际项目中这个后台接口地址是后端程序员提供给你的)

可以先把后台给的地址放到地址栏访问一下,是可以正常访问的,并且输出了json格式的字符串,这就是我们需要的远端数据了。这里我们使用Axios的get 方式来获得数据。

created(){
   axios.get('http://jspang.com/DemoApi/oftenGoods.php')
       //then获取成功;response成功后的返回值(对象)
   .then(response=>{
     console.log(response);
     this.oftenGoods=response.data;
   })
       //获取失败
   .catch(error=>{
     console.log(error);
     alert('网络错误,不能访问');
   })
 },

把axios的方法写到了created钩子函数中,我们使用了get 方法进行拉取数据,如果拉取成功用远端数据对oftenGoods进行赋值。

拉取报错,一般有两种情况:

  • 网络不通:网络状况不是很好,这可以在失败后隔5秒再次请求。
  • 报决绝访问:这种多是后端程序员设置了不允许跨域访问,需要你和后端程序员一起调试解决。

拉取分类商品数据:

依然用Get进行拉取,拉取后先用consoe.log(response)查看一下数据结构,让后进行赋值。

在这里贴出拉取和分配不同分类代码:

 //读取分类商品列表
   axios.get('http://jspang.com/DemoApi/typeGoods.php')
   .then(response=>{
     console.log(response);
     //this.oftenGoods=response.data;
     this.type0Goods=response.data[0];
     this.type1Goods=response.data[1];
     this.type2Goods=response.data[2];
     this.type3Goods=response.data[3];
   })
   .catch(error=>{
     console.log(error);
     alert('网络错误,不能访问');
   })

html模板输出代码:

<ul class='cookList'>
   <li v-for="goods in type3Goods">
     <span class="foodImg"><img :src="goods.goodsImg" width="100%"></span>
     <span class="foodName">{{goods.goodsName}}</span>
     <span class="foodPrice">¥{{goods.price}}元</span>
   </li>
</ul>

若有不足请多多指教!希望给您带来帮助!

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对小牛知识库的支持。如果你想了解更多相关内容请查看下面相关链接

 类似资料:
  • 任何帮助都将得到高度赞赏。求求你了。

  • 我正在尝试使用Vue和Axios的GET请求从我们的业务服务器获取一些数据。但是,我遇到了401未经授权的错误。当我使用内部号登录时,我能够使用RESTED获取这些数据。我已经看了这篇文章:如何使用axios发送Basic Auth,但没有解决方案对我有用。这是我发出get请求的代码: 我也尝试过不使用“标题”。这是错误消息: 希望有人有主意,因为我不知所措。

  • 我正在创建一个电子学习网站,那里有你可以选择的课程卡片。这是我的密码 课程ist.vue 我的问题是我无法从API链接获取数据- 我想知道我做错了什么。我也尝试使用{{list}}来获取数据,但没有成功。我现在的目标是得到所有的数据,即使它看起来很乱。抱歉我英语不好,谢谢你!

  • 我在获取数据方面有问题。这是控制台中弹出的错误。。。 未捕获的错误:模块构建失败(来自。/node_modules/Babel-loader/lib/index.js): SynTaxError: /var/www/html/laravel/resources/js/components/Content.vue: const是一个保留字(8:4) 我在用法上做错了什么吗? 也在App.js中

  • 如何在java中读取整数输入...我尝试了缓冲阅读器和扫描仪...但它不输出任何东西...我正在使用eclipse Indigo...它会影响输出吗... 示例代码:

  • 我正在通过一个对我来说是新的IDE进行一个学校项目:IntelliJ。 为了提交我的项目(通过git),我创建了一个git存储库,添加了正确的remote及其密码,并尝试将我的工作推到主分支(在成功添加/提交所述工作之后)。 一开始我收到以下错误消息: 推送失败:失败,错误:致命:无法从远程存储库读取。 下面是我的文件: 我哪里错了?

  • 我有ListView显示从服务器下载的图像。我需要执行的步骤是: 调用api获取流。 从该流中获取字节[]。 将这些字节保存在File对象(在sd卡中)中。 从该文件路径/位置获取位图。 在ImageView中显示位图。 前4个步骤需要在后台线程中执行,以保持主线程未被占用,以便用户可以在后台下载图像时顺利滚动列表。第 5 步需要在 UI 线程上执行。 我在后台执行这些步骤时遇到问题。 这就是我在

  • 我现在有这个问题,我需要在应用程序在后台时处理消息推送的信息,我的意思是,甚至不点击通知。这意味着这个应用程序:(UIApplication*)应用程序didReceiveRemote teNotify:(NSDicpedia*)userInfo fetchCompletionHandler:(val(^)(UIBackground FetchResult))完成必须在后台调用Handler!这是