在vue中使用vue-resource

版权声明:转载请注明原创 https://blog.csdn.net/qq_42151769/article/details/88853249

jquery用的是$.ajax。我们在vue项目中保持代码尽量精简而不引入jq的话,官方推荐vue-resource.

也就是使用vue-resource插件来替代ajax的使用,首先需要安装

在当前项目文件夹中执行命令:安装vue-resource插件

 cnpm install vue-resource --save-dev

然后在main.js中引入:

import VueResource from 'vue-resource'
Vue.use(VueResource)

就可以使用了

官方的文档如下:

vue-resource官方文档  

如get请求的发送,简写方式

this.$http.get('http://127.0.0.1:8899/api/getlunbo').then(res => {
    console.log(res.body);
  })

发送post请求

 var url = 'http://127.0.0.1:8899/api/post';
  // post 方法接收三个参数:
  // 参数1: 要请求的URL地址
  // 参数2: 要发送的数据对象
  // 参数3: 指定post提交的编码类型为 application/x-www-form-urlencoded
  this.$http.post(url, { name: 'zs' }, { emulateJSON: true }).then(res => {
    console.log(res.body);
  });

发送jsoup,注意jsoup只支持get请求的

var url = 'http://127.0.0.1:8899/api/jsonp';
  this.$http.jsonp(url).then(res => {
    console.log(res.body);
  });
  • 在发送请求后,使用then方法来处理响应结果,then方法有两个参数,第一个参数是响应成功时的回调函数,第二个参数是响应失败时的回调函数。

      then方法的回调函数也有两种写法,第一种是传统的函数写法,第二种是更为简洁的ES 6的Lambda写法:

如下:

// 传统写法
this.$http.get('/someUrl', [options]).then(function(response){
    // 响应成功回调
}, function(response){
    // 响应错误回调
});

// Lambda写法
this.$http.get('/someUrl', [options]).then((response) => {
    // 响应成功回调
}, (response) => {
    // 响应错误回调
});

支持的HTTP方法:vue-resource的请求API是按照REST风格设计的,它提供了7种请求API:

  • get(url, [options])
  • head(url, [options])
  • delete(url, [options])
  • jsonp(url, [options])
  • post(url, [body], [options])
  • put(url, [body], [options])
  • patch(url, [body], [options])

  除了jsonp以外,另外6种的API名称是标准的HTTP方法。当服务端使用REST API时,客户端的编码风格和服务端的编码风格近乎一致,这可以减少前端和后端开发人员的沟通成本。

options对象

  发送请求时的options选项对象包含以下属性:

  • 可以通过动态创建script标签的形式,把script标签的src属性,指向数据接口的地址,因为script标签不存在跨域限制,这种数据获取方式,称作JSONP(注意:根据JSONP的实现原理,知晓,JSONP只支持Get请求);

猜你喜欢

转载自blog.csdn.net/qq_42151769/article/details/88853249