Vue-resource实现ajax请求和跨域请求示例

 更新时间:2017年02月23日 15:25:33   作者:李帅醒  
本篇文章主要介绍了Vue-resource实现ajax请求和跨域请求示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

vue-resource是Vue提供的体格http请求插件,如同jQuery里的$.ajax,用来和后端交互数据的。

在使用时,首先需要安装vue-resource插件

1.在项目跟目录上安装:

npm install vue-resource 

 2.引入resource插件

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

3.发送请求:

this.$http.get("http://www.vrserver.applinzi.com/aixianfeng/apihome.php").then(function(res){ 
  console.log(res) 
 }) 

ES6写法:

this.$http.get('url', [options]).then((res) => { 
// 处理成功的结果}, (res) => { // 处理失败的结果}); 

在发送请求后,使用then方法来处理响应结果,then方法有两个参数,第一个参数是响应成功时的回调函数,第二个参数是响应失败时的回调函数。

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

POST请求:

this.$http.post("http://www.vrserver.applinzi.com/aixianfeng/apihome.php",{name:"abc"},{emulateJSON:true}).then( 
   function (res) { 
    // 处理成功的结果 
    alert(res.body); 
   },function (res) { 
   // 处理失败的结果 
   } 
  );

JSONP请求:

new Vue({ ready() { 
 this.$http.jsonp('/url', {name:"abc"}) .then(function (res){ 
  console.log(res) 
 }, function (res) { 
  console.log(res) 
  }); 
 } 
})

吐槽一下,现在应该没有用到JSON的了吧,有的话真呵呵呵了。

支持的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时,客户端的编码风格和服务端的编码风格近乎一致,这可以减少前端和后端开发人员的沟通成本。

客户端请求方法 服务端处理方法
this.$http.get(...) Getxxx
this.$http.post(...) Postxxx
this.$http.put(...) Putxxx
this.$http.delete(...) Deletexxx

options对象

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

参数 类型 描述
url string 请求的URL
method string 请求的HTTP方法,例如:'GET', 'POST'或其他HTTP方法
body Object, FormDatastring request body
params Object 请求的URL参数对象
headers Object request header
timeout number 单位为毫秒的请求超时时间 (0 表示无超时时间)
before function(request) 请求发送前的处理函数,类似于jQuery的beforeSend函数
progress function(event) ProgressEvent回调处理函数
credientials boolean 表示跨域请求时是否需要使用凭证
emulateHTTP boolean 发送PUT, PATCH, DELETE请求时以HTTP POST的方式发送,并设置请求头的X-HTTP-Method-Override
emulateJSON boolean 将request body以application/x-www-form-urlencoded content type发送

emulateHTTP的作用

如果Web服务器无法处理PUT, PATCH和DELETE这种REST风格的请求,你可以启用enulateHTTP现象。启用该选项后,请求会以普通的POST方法发出,并且HTTP头信息的X-HTTP-Method-Override属性会设置为实际的HTTP方法。

Vue.http.options.emulateHTTP = true;

emulateJSON的作用

如果Web服务器无法处理编码为application/json的请求,你可以启用emulateJSON选项。启用该选项后,请求会以application/x-www-form-urlencoded作为MIME type,就像普通的HTML表单一样。

Vue.http.options.emulateJSON = true;

response对象

response对象包含以下属性:

方法 类型 描述
text() string 以string形式返回response body
json() Object 以JSON对象形式返回response body
blob() Blob 以二进制形式返回response body
属性 类型 描述
ok boolean 响应的HTTP状态码在200~299之间时,该属性为true
status number 响应的HTTP状态码
statusText string 响应的状态文本
headers Object 响应头

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • vue简易记事本开发详解

    vue简易记事本开发详解

    这篇文章主要为大家详细介绍了vue简易记事本的开发过程,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-06-06
  • vue使用mpegts.js的详细步骤记录

    vue使用mpegts.js的详细步骤记录

    MPEGTS.js是一个轻量级的JavaScript库,用于处理MPEG-TS流,这篇文章主要给大家介绍了关于vue使用mpegts.js的详细步骤记录,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-04-04
  • Vue项目如何实现切换主题色思路

    Vue项目如何实现切换主题色思路

    这篇文章主要介绍了Vue项目如何实现切换主题色思路,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-01-01
  • vue px转rem配置详解

    vue px转rem配置详解

    这篇文章主要为大家介绍了vue px转rem配置,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2021-12-12
  • Vue集成阿里云做滑块验证的实践

    Vue集成阿里云做滑块验证的实践

    滑块验证是比较常见的人机鉴别的方法,本文主要介绍了Vue集成阿里云做滑块验证,具有一定的参考价值,感兴趣的可以了解一下
    2022-01-01
  • Vue实现Excel预览功能使用场景示例详解

    Vue实现Excel预览功能使用场景示例详解

    这篇文章主要为大家介绍了Vue实现Excel预览功能使用场景示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-09-09
  • vue实现element表格里表头信息提示功能(推荐)

    vue实现element表格里表头信息提示功能(推荐)

    小编最近接了这样一个需求,需要在element表格操作一栏添加提示功能,下面小编给大家带来了基于vue实现element表格里表头信息提示功能,需要的朋友参考下吧
    2019-11-11
  • Vue3组合式函数Composable实战ref和unref使用

    Vue3组合式函数Composable实战ref和unref使用

    这篇文章主要为大家介绍了Vue3组合式函数Composable实战ref和unref使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06
  • vue中的.capture和.self区分及初步理解

    vue中的.capture和.self区分及初步理解

    这篇文章主要介绍了vue中的.capture和.self区分及初步理解,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-04-04
  • Vue 按键修饰符处理事件的方法

    Vue 按键修饰符处理事件的方法

    这篇文章主要介绍了Vue 按键修饰符的相关资料,vue中新增按键修饰符和系统修饰符来处理类似的事件,具体内容详情大家参考下本文
    2018-05-05

最新评论