Vue.js 学习要点总结(二)
来源:互联网 发布:淘宝店保证金怎么交 编辑:程序博客网 时间:2024/06/05 01:56
vue-resource实现跨域访问
vue-resource简介
简介: vue-resource是Vue.js的一款插件, 可以通过XMLHttpRequest或JSONP发起请求并处理响应, 可以实现与$.ajax统一的功能.
特点:
1. 体积小
2. 支持各种主流浏览器(IE9以下不支持)
3. 支持ES6的promise API和URL Templates
4. 支持拦截器
vue-resource使用
引入vue-reource
<script src="js/vue.js"></script><script src="js/vue-resource.js"></script>
基本语法:
// 基于全局Vue对象使用httpVue.http.get('/someUrl', [options]).then(successCallback, errorCallback);Vue.http.post('/someUrl', [body], [options]).then(successCallback, errorCallback);// 在一个Vue实例内使用$httpthis.$http.get('/someUrl', [options]).then(successCallback, errorCallback);this.$http.post('/someUrl', [body], [options]).then(successCallback, errorCallback);
在引入vue-resource后,可以有两种方式使用http, 基于全局的Vue对象使用http, 基于某个Vue实例使用$http. 发送请求后的then()方法有两个参数, 第一个响应成功时的回调函数,第二个时响应失败时的回调函数.
常用的http方法:
- this.http.get(url, [options])/this.$http.get(url, [options])
- this.http.head(url, [options])/this.$http.head(url, [options])
- this.http.delete(url, [options])/this.$http.delete(url, [options])
- this.http.post(url, [body], [options])/this.$http.post(url, [body], [options]
- this.http.put(url, [body], [options])/this.$http.put(url, [body], [options])
- this.http.patch(url, [body], [options])/this.$http.patch(url, [body], [options])
option对象介绍
发送请求时的option对象包含属性如下:
emulateHTTP作用: 若Web服务器无法处理PUT, PATCH和DELETE这种REST风格的请求, 你可以启用enulateHTTP现象。启用该选项后, 请求会以普通的POST方法发出, 并且HTTP头信息的X-HTTP-Method-Override属性会设置为实际的HTTP方法.
response对象介绍
服务器响应的response对象包含属性如下:
####举例
get请求:
getCustomers: function() { this.$http.get(this.apiUrl) .then((response) => { this.$set('gridData', response.data) }) .catch(function(response) { console.log(response) }) } }
post请求:
createCustomer: function() { var vm = this vm.$http.post(vm.apiUrl, vm.item) .then((response) => { vm.$set('item', {}) vm.getCustomers() }) this.show = false } }
put请求
updateCustomer: function() { var vm = this vm.$http.put(this.apiUrl + '/' + vm.item.customerId, vm.item) .then((response) => { vm.getCustomers() })}
delete请求
deleteCustomer: function(customer){ var vm = this vm.$http.delete(this.apiUrl + '/' + customer.customerId) .then((response) => { vm.getCustomers() })}
拦截器
拦截器实现在发送请求前后发送请求后进行一些处理
基本用法:
Vue.http.interceptors.push((request, next) => { // ... // 请求发送前的处理逻辑 // ... next((response) => { // ... // 请求发送后的处理逻辑 // ... // 根据请求的状态,response参数会返回给successCallback或errorCallback return response })})
项目实际编码时的一些体会
阅读全文
0 0
- Vue.js 学习要点总结(二)
- Vue.js 学习要点总结(一)
- Vue.js要点记录(二)
- Vue.js要点记录(二)
- vue.js总结学习
- Vue.js 学习总结
- Vue.js 学习(二)
- vue.js学习(二)
- Vue.js学习笔记(二)
- Vue.js学习笔记(二)
- 前端学习总结(二十一)Vue.js——博采众长的后起之秀
- 前端框架之Vue.js学习总结
- vue.js开发外卖App项目总结(二)
- Vue.js要点记录(一)
- Vue.js要点记录(一)
- 新手学习vue.js 购物车实例 学习总结
- Vue.js学习系列(三十一)-- Vue.js样式绑定(二)
- Vue.js学习系列(三十八)-- Vue.js表单 (二)
- 雨滴,美丽的雨滴
- windows server 2012安装ftp服务
- [学习笔记]Android系统功能之多点触摸交互处理
- UnityEditor的Selection类
- 解决cmake的时候json;json-c not found
- Vue.js 学习要点总结(二)
- USACO 1.3 Combination Lock
- Vim初学入门知识(小白篇)
- git stash的用法
- js中的定时器和计时器使用
- 软件工程实验
- cocos2dx3.14.1+win10+VS2017环境搭建
- 结构体字节对齐规则
- oracle正则表达式 [^-]是什么意思?表示不是'-'的字符