Vue.js——vue-resource

本文详细介绍了Vue-resource插件的使用方法,包括通过XMLHttpRequest或JSONP发起请求,展示了如何在Vue.js中使用该插件进行HTTP请求,如GET、POST等方法,并提供了封装示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

vue-resource是Vue.js的一款插件,它可以通过XMLHttpRequest或JSONP发起请求并处理响应。

vue-resource使用

引入  npm install vue-resource -s

// 基于全局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);

支持的HTTP方法

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

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

参数类型描述
urlstring请求的URL
methodstring请求的HTTP方法,例如:'GET', 'POST'或其他HTTP方法
bodyObjectFormDatastringrequest body
paramsObject请求的URL参数对象
headersObjectrequest header
timeoutnumber单位为毫秒的请求超时时间 (0 表示无超时时间)
beforefunction(request)请求发送前的处理函数,类似于jQuery的beforeSend函数
progressfunction(event)ProgressEvent回调处理函数
credentialsboolean表示跨域请求时是否需要使用凭证
emulateHTTPboolean发送PUT, PATCH, DELETE请求时以HTTP POST的方式发送,并设置请求头的X-HTTP-Method-Override
emulateJSONboolean将request body以application/x-www-form-urlencodedcontent type发送

封装

2中封装方式择期所爱,自己写的封装,如果有问题,稍作修改

request(url,method,param) {
        let options = {
            url:url,
            method:method
        }
        let meArr = ['post','put','patch'];
        if(param){
            meArr.some(el =>el === method.toLowerCase()) ? options.body = param : options.params = param
        }
        return Vue.http(options)
    },
postRequest(url,data,callback) {
        return new Promise((resolve,reject)=>{
            Vue.http.post(
                url,
                data,
                {emulateJSON: true}
            )
            .then(callback)
            .catch((err)=>{
                reject(err)
            })
        })
    }

示例

import http from '../../common/response.js'

logo: function () {
      let loginUser = {
        name: this.login.name,
        pwd: this.login.pwd,
        text: this.login.text
      }
      let url = 'xxxx';
      http.request(url,'POST',loginUser).then(res=>{
        console.log(res)
      })
      .catch(err=>{
        console.log(err)
      })
    }

 

转载于:https://www.cnblogs.com/webPang/p/10456103.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值