请求数据的方式:

vue-resource 官方提供的 vue的一个插件

axios

fetch-jsonp

一,vue-resource请求数据

介绍:vue-resource请求数据方式是官方提供的一个插件

使用步骤:

1、安装vue-resource模块

cnpm install vue-resource --save

加--save是为了在package.json中引用,表示在生产环境中使用。因为我们在日常开发中,如果我们要打包代码给其他人或者上传到github,又或者要发布代码时,package.json就是安装所需要的包。如果只在开发环境中使用,则只需要--save-dev,有一些只在开发环境中用,有一些要在生产环境中用。

2、在 main.js 引入 vue-resource

import VueResource from 'vue-resource';

Vue.use(VueResource);

3、在组件里面直接使用

this.$http.get(地址).then(function(){

})

注意:this.$http.get()等等的各种http请求都是继承promise的。promise是异步的请求;其次,.then箭头函数里的this代表的是上下文。根据箭头函数this的定义,只在函数定义时就已经赋值可知,this,指代的是定义函数的对象,在vue中对象就是methods当前页面。所以this指导的是data里面的数据。如果想要获取包裹函数外函数的数据,即闭包的概念。实现方法就是在外层函数加一个var that =  this;将外层的this先储存到that中。

实例:

Info.vue

获取数据

  • {{item.title}}

export default {

name: "Info",

data() {

return {

list: []

}

},

methods: {

getData: function () {

let api = 'http://www.phonegap100.com/appapi.php?a=getPortalList&catid=20&page=1';

//此处推荐使用箭头函数。

this.$http.get(api).then((res)=>{

this.list = res.body.result;

}, (err)=>{

console.log(err);

});

}

},

mounted() {

this.getData();

}

}

如果getData()中不适用箭头函数,就需要注意this问题。

getData: function () {

let api = 'http://www.phonegap100.com/appapi.php?a=getPortalList&catid=20&page=1';

const _this = this;

this.$http.get(api).then(function (res) {

_this.list = res.body.result;

}, function (err) {

console.log(err);

});

}

二,axios请求数据

axios 与 fetch-jsonp 同为第三方插件

1、安装

cnpm install axios --save

直接调用。和vue-resource的区别是:aixos是每在一个页面用一次就要在该页面调用一次。vue-resource是绑定了全局的了。

2、哪里用哪里引入axios

Axios.get(api).then((response)=>{

this.list=response.data.result;

}).catch((error)=>{

console.log(error);

})

关于axios的跨域请求

在config->index.js->proxyTable配置如下:target填写自己想要的地址

如下配置,url为地址后面所带的参数,配置好后,现在npm run dev 运行就行。

关于多个并发请求:

上面这个是同一地址的跨域,如果要拿不同地址的跨域,只需要更改config->index.js->proxyTable的配置,增加地址块就行。

三,关于fetch-jsonp

1、安装

cnpm install fetch-jsonp --save

2、哪里用哪里引入fetch-jsonp

fetchJsonp('/users.jsonp')

.then(function(response) {

return response.json()

}).then(function(json) {

console.log('parsed json', json)

}).catch(function(ex) {

console.log('parsing failed', ex)

})

到此这篇关于vue请求数据的三种方式的文章就介绍到这了,更多相关vue 请求数据内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

时间: 2020-03-01

vue三种ajax请求方式,vue请求数据的三种方式相关推荐

  1. android的数据存储方式有哪几种方式,Android存储数据的5种方式

    第一种:SharedPreferences 1.使用键值对的方式存储数据 2.通常用于:保存用户的偏好设置.选择是否保存密码.记录文档阅读的位置等 3.实现方式(写入): a).获取SharedPre ...

  2. vue赋值与ajax什么区别,Vue中ajax返回的结果赋值

    这是第二次在项目中遇到此问题,ajax请求成功后在success函数中为Vue实例data里的变量赋值,却失败了 new Vue({ el:'#app', data:{ msg:'' }, creat ...

  3. vue页面取ajax返回值,Vue前端交互模式、Promise用法(回调地狱)

    Promise 概述Promise 是异步编程的一种解决方案,从语法上讲,Promise 是一个对象,从它可以获取异步操作的消息. 优点:可以避免多层异步调用嵌套问题(回调地狱) Promise 对象 ...

  4. android的数据存储方式有哪几种方式,android存储数据的几种方式比较

    机身内存读取主要用个两个类文件输入流(FileInputStream)和文件输出流(FileOutputStream):FileInputStream fileInput = this.openFil ...

  5. 用python玩转数据第三周_用Python玩转数据(三)

    1 找人程序(4分) 题目内容: 有5名某界大佬xiaoyun.xiaohong.xiaoteng.xiaoyi和xiaoyang,其QQ号分别是88888.5555555.11111.1234123 ...

  6. 第 4 章:Vue 中的 ajax

    学习资料来自尚硅谷VUE教学视频 csdn:课程代码.vue3笔记.课件 gitee:课件.代码.资料 其他:vscode插件推荐.第三方库网站.npmjs库 工具库推荐: moment.js 时间处 ...

  7. easyui datatable ajax 加载数据,ASP.NET easyUI--datagrid 通过ajax请求ASP.NET后台数据的分页查询...

    js前台对datagrid的定义代码,如下 mygrid = $('#mytable').datagrid({ fit: true, //自动大小 height: 'auto', rownumbers ...

  8. 电商推荐系统三:创建项目并初始化业务数据

    三.创建项目并初始化业务数据 目录 三.创建项目并初始化业务数据 3.1 在IDEA中创建maven项目 3.1.1 项目框架搭建 3.1.2 声明项目中工具的版本信息 3.1.3 添加项目依赖 3. ...

  9. vue可以用ajax,Vue 中使用Ajax请求

    Vue 项目中常用的 2 个 ajax 库 (一)vue-resource vue 插件, 非官方库,vue1.x 使用广泛 vue-resource 的使用 下载 npm install vue-r ...

最新文章

  1. 人工智能的价值地图:AI产业增强革命的模式与路径
  2. 类型两个数相减_小学数学简便计算12种分类+5种易错类型,打印出来给孩子练习!(可打印!)...
  3. mysql 数据类型 int_MySQL数据类型 int(M) 表示什么意思?
  4. Dungeon Master(三维bfs)java
  5. 15个只有数学老师懂的泪流满面瞬间
  6. 大型网站服务器 pdf,大型网站服务器容量规划[PDF][145.25MB]
  7. LeetCode 322. 零钱兑换(DP)
  8. 苹果电脑 html5 视频,苹果Mac系统看HTML5视频教程介绍
  9. 基于bootstrap模态框的日期选择器
  10. k8s高可用集群_搭建高可用集群(部署haproxy和安装docker以及其他组件)---K8S_Google工作笔记0056
  11. gitlab 安装_安装Gitlab-注意端口
  12. Angular通过CORS实现跨域方案
  13. Echarts数据可视化series-scatter散点图,开发全解+完美注释
  14. 第一次作业:对于Linux2.6.0源码中进程模型的分析
  15. OpenStack Queens版本Security项目介绍
  16. 重庆铜梁中学空调计量项目远程预付费电能管理系统的设计与应用
  17. alexa前100万个域名下载
  18. 用计算机音乐的歌词,电脑酷狗音乐怎么在屏幕上显示歌词
  19. Unity3D关于蓄力跳跃
  20. 蚂蚁金服是不是中国最好的 FinTech(金融科技)公司

热门文章

  1. 药包材国家标准ybb2020-电子版在线阅读
  2. Speedoffice(excel)设置按颜色进行排序
  3. 工信部介入 微信收费或成定局
  4. 程序设计-寻找三数之和为零的三元组(Java)
  5. 如何快速搭建一个社交网站平台?
  6. MyBatis十:逆向工程(QBC风格)
  7. 最新深度学习入门高赞教材,只需高中数学基础 | 资源
  8. 基于Python +Selenium的爬虫详解
  9. pytorch函数unsqueeze函数的理解
  10. 如何让div自适应背景图的高度?