基本语法

//基于全局Vue对象使用http
Vue.http.get('/someUrl', [options]).then(successCallback, errorCallback);
Vue.http.post('/someUrl', [body], [options]).then(successCallback, errorCallback); //在一个Vue实例内使用$http
this.$http.get('/someUrl', [options]).then(successCallback, errorCallback);
this.$http.post('/someUrl', [body], [options]).then(successCallback, errorCallback);

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])

options对象

参数

类型

描述

url

string

请求的 URL

method

string

请求的 HTTP 方法,例如:'GET','POST' 或其他 HTTP 方法

body

Object, FormData string

request body

params

Object

请求的 URL 参数对象

headers

Object

request header

timeout

number

单位为毫秒的请求超时时间 (0 表示无超时时间)

before

function(request)

请求发送前的处理函数,类似于 jQuery 的 beforeSend 函数

progress

function(event)

ProgressEvent 回调处理函数

credentials

boolean

表示跨域请求时是否需要使用凭证(可用于解决 cors 跨域请求没带上 Cookie 的问题)

emulateHTTP

boolean

发送 PUT,PATCH,DELETE 请求时以 HTTP POST 的方式发送,并设置请求头的 X-HTTP-Method-Override

emulateJSON

boolean

将 request body 以 content-type 为 application/x-www-form-urlencoded 的方式发送

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 对象

方法

类型

描述

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.http.options.emulateHTTP = true;
Vue.http.options.emulateJSON = true; Vue.http.interceptors.push(function (request, next) {
// ...
// 请求发送前的处理逻辑
// ...
next(function (response) {
// ...
// 请求发送后的处理逻辑
// ...
// 根据请求的状态,response 参数会返回给 successCallback 或 errorCallback
return response;
});
});

上面的配置会对所有请求生效

vue-resource使用笔记的更多相关文章

  1. Vue.js学习笔记(2)vue-router

    vue中vue-router的使用:

  2. Vue.js 组件笔记

    Vue 组件总结笔记 一. 创建组件 1. 使用组件三部曲 ( 创建, 注册, 使用 ) 2. 全局组件:Vue.component('tag', {}); 3. 局部组件: components 属 ...

  3. vue.js 学习笔记3——TypeScript

    目录 vue.js 学习笔记3--TypeScript 工具 基础类型 数组 元组 枚举 字面量 接口 类类型 类类型要素 函数 函数参数 this对象和类型 重载 迭代器 Symbol.iterat ...

  4. Vue.js学习笔记:在元素 和 template 中使用 v-if 指令

    f 指令 语法比较简单,直接上代码: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" " ...

  5. vue resource 携带cookie请求 vue cookie 跨域

    vue resource 携带cookie请求 vue cookie 跨域 1.依赖VueResource 确保已安装vue-resource到项目中,找到当前项目,命令行输入: npm instal ...

  6. vue 自学项目笔记

    感觉小青推荐的学习网课,  利用vue 仿制一个去哪网, 学习的东西很多, 在食用之前,需要先确保js 和css 过关 js https://www.bilibili.com/video/av3009 ...

  7. Vue.js学习笔记 第一篇 数据绑定

    双花括号文本插值 先来个最简单的例子,看完之后立马会用Vue了,是不是很有成就感 <!DOCTYPE html> <html> <head> <meta ch ...

  8. Vue的学习笔记

    以下文章皆为观看慕课网https://www.imooc.com/learn/796中“河畔一角”老师的讲解做的笔记,仅供参考. 一.Vue特点 Vue是MVVM的框架,也就是模型视图->视图模 ...

  9. Vue.js——学习笔记(一)

    Vue-自学笔记 Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架.与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用.Vue 的核心库只关注视图层,不仅 ...

  10. Vue.js 学习笔记之二:数据驱动开发

    在 Vue.js 框架中,与 HTML 页面元素的交互方式没有像原生 JavaScript 接口那么直接,它是通过先在 HTML 元素标签中嵌入一系列类似于普通标签属性的 Vue 指令属性来绑定数据, ...

随机推荐

  1. Codeforces801C Voltage Keepsake 2017-04-19 00:26 109人阅读 评论(0) 收藏

    C. Voltage Keepsake time limit per test 2 seconds memory limit per test 256 megabytes input standard ...

  2. underscore chain

    //可以在面向对象或者函数的风格下使用Underscore_.map([1, 2, 3], function(n){ return n * 2; }); //一般习惯用这种 _([1, 2, 3]). ...

  3. 【PAT Advanced Level】1014. Waiting in Line (30)

    简单模拟题,注意读懂题意就行 #include <iostream> #include <queue> using namespace std; #define CUSTOME ...

  4. 【WinRT】获取 Uri 中的参数(QueryString)键值对

    在控制台或者其它类型的项目中,可以添加 System.Web,使用以下代码来获取一个 Uri 中的参数 Uri uri = new Uri("http://www.cnblogs.com/h ...

  5. ASP.NET 中 <%= %> 与 <%: %> 的区别

    做个备忘 <%= %> 内容原封不动输出 <%: %> 对内容进行编码后输出 即:<%: str %> 等价于 <%= Html.Encode(str) %& ...

  6. [Openwrt 项目开发笔记]:Samba服务&vsFTP服务(四)

    [Openwrt项目开发笔记]系列文章传送门:http://www.cnblogs.com/double-win/p/3888399.html 正文: 在上一节中,我们讲述了如何在路由器上挂载U盘,以 ...

  7. Django:model.save()的时候在干什么

    转:https://www.cnblogs.com/zywscq/p/5397439.html Model.save(force_insert=False, force_update=False, u ...

  8. 基于Quartz.net的远程任务管理系统 一

    在上一篇绪中,已经介绍了整个项目的情况下了,接下来就是开始一步步做起来了. 首先:先整个我们的Job任务表,以及Job执行日志表.SQL如下: drop table if exists job_inf ...

  9. 利用HttpWebRequest模拟表单提交

    using System; using System.Collections.Specialized; using System.IO; using System.Net; using System. ...

  10. IBM主机家族——大型机、中型机、小型机

    对于x86架构的开放品台机器来说,IBM的封闭平台系列可以说是另一个“体系世界”. IBM z series    大型机, z/os操作系统 IBM i series/AS400   中型机,  i ...