zoukankan      html  css  js  c++  java
  • vue-resource

    vue-resource插件为vue.js提供发起网络请求的服务,使用XMLHttpRequest或JSONP处理服务端的响应。

    一,安装

    1)npm install vue-resource

    2)import Vue from 'vue'

      import VueResource from 'vue-resource'

      Vue.use(VueResource)

    也可以使用全局的 script 标签引入该插件

    二,基本用法

     引入vue-resource后,可以基于全局的Vue对象使用http,也可以基于某个Vue实例使用http

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

    在发送请求后,使用then方法来处理响应结果,then方法有两个参数,第一个参数是响应成功时的回调函数,第二个参数是响应失败时的回调函数
    this.$http.post(require("xxx.do", postData)
    .then(res => {
        ...
        return this.$http.post("xxx.do")
    })
    .then(res => {
        this.$store.commit("setWxUserInfo", res.body);    
    })

    三,支持拦截器

    拦截器是全局的,拦截器可以在请求发送前和发送请求后做一些处理。
    拦截器在一些场景下会非常有用,比如请求发送前在headers中设置access_token,或者在请求失败时,提供共通的处理方式。

     通过inteceptor,我们可以为所有的请求处理加一个loading:请求发送前显示loading,接收响应后隐藏loading。

    Vue.http.interceptors.push(function (request, next) {
        //请求前显示加载中弹框
        next(function (response) {
            if (response.body.ReturnCode != "000000") {
                //提示错误信息response.body.ReturnMsg
            }
            //隐藏加载中弹框
            return response; 
        })
    })
  • 相关阅读:
    学好C++必须要注意的十八个问题
    c++设计模式-----抽象工厂模式
    C++设计模式----工厂模式
    c++设计模式----装饰模式
    常用算法(二)—高级算法
    常用算法收集
    修改admin中App的名称与表的名称
    数据分析画图,使用原生sql查询数据
    组合搜索框的实现
    django前端分页小组件
  • 原文地址:https://www.cnblogs.com/colorful-coco/p/8022705.html
Copyright © 2011-2022 走看看