Vue2学习笔记之请求数据交互vue-resource
基本语法
必须引入一个库:vue-resourcegithub地址
//基于全局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);
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])
Options
Parameter
Type
Description
url
string
请求的UR
body
Object,FormData,string
requestbody
headers
Object
requestheader
params
Object
请求的URL参数对象
method
string
请求的HTTP方法,例如:'GET','POST'或其他HTTP方法
timeout
number
单位为毫秒的请求超时时间(0表示无超时时间)
before
function(request)
请求发送前的处理函数,类似于jQuery的beforeSend函数
progress
function(event)
ProgressEvent回调处理函数
credentials
boolean
表示跨域请求时是否需要使用凭证
emulateHTTP
boolean
发送PUT,PATCH,DELETE请求时以HTTPPOST的方式发送,并设置请求头的X-HTTP-Method-Override
emulateJSON
boolean
将requestbody以application/x-www-form-urlencodedcontenttype发送
1.向文本发出get请求
准备一个1.txt的文本数据,时面的内容是:welcomettovue!!!
<!DOCTYPEhtml> <html> <head> <title></title> <metacharset="utf-8"> <scriptsrc="http://unpkg.com/vue/dist/vue.js"></script> <scriptsrc="http://files.cnblogs.com/files/zycbloger/vue-resource.min.js"></script> <scripttype="text/javascript"> window.onload=function(){ varvm=newVue({ el:'#box', data:{ msg:'HelloWorld!', }, methods:{ get:function(){ //发送get请求 this.$http.get('1.txt').then(function(res){ alert(res.body); },function(){ alert('请求失败处理');//失败处理 }); } } }); } </script> </head> <body> <divid="box"> <inputtype="button"@click="get()"value="按钮"> </div> </body> </html>
上面代码实现了,点击按钮,就发送get请求,成功就会执行弹窗welcomettovue!!!
2.关于向后端请求,并带参数的写法
<!DOCTYPEhtml> <html> <head> <title></title> <metacharset="utf-8"> <scriptsrc="http://unpkg.com/vue/dist/vue.js"></script> <scriptsrc="http://files.cnblogs.com/files/zycbloger/vue-resource.min.js"></script> <scripttype="text/javascript"> window.onload=function(){ varvm=newVue({ el:'#box', data:{ msg:'HelloWorld!', }, methods:{ get:function(){ //发送get请求 this.$http.get('get.do',{a:1,b:2}).then(function(res){ alert(res.body); },function(){ alert('请求失败处理');//失败处理 }); }, post:function(){ //发送post请求 this.$http.post('post.do',{a:1,b:2}).then(function(res){ alert(res.body); },function(){ alert('请求失败处理');//失败处理 }); } } }); } </script> </head> <body> <divid="box"> <inputtype="button"@click="get()"value="按钮get"> <inputtype="button"@click="post()"value="按钮post"> </div> </body> </html>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。