封装axios的接口请求数据方法

lib文件夹中http.js文件的内容

包含了数据请求,路由的拦截,同时向外界暴露的是一个方法,方法内有三个参数,分别为请求的方式,地址,数据

 1 import axios from ‘axios‘;
 2 import qs from ‘qs‘;
 3
 4 const server=axios.create({
 5     timeout:5000,
 6     withCredentials:true
 7 })
 8
 9 server.interceptors.request.use((config)=>{
10     if(config.method.toUpperCase()=="GET"){
11         config.params={...config.data}
12     }else if(config.method.toUpperCase()=="POST"){
13         config.headers["content-type"] = "appliaction/x-www-form-urlencoded";
14         config.data=qs.stringify(config.data);
15     }
16     vm.handlemount();
17     return config;
18 },(err)=>{
19     Promise.reject(err);
20 })
21
22
23 server.interceptors.response.use((res)=>{
24     if(res.statusText=="OK"){
25         vm.handleDestory();
26         return res.data
27     }
28 },(err)=>{
29     Promise.reject(err);
30 })
31
32
33 export default (method,url,data={})=>{
34     if(method.toUpperCase()=="GET"){
35         return server.get(url,{
36             params:data
37         })
38     }else if(method.toUpperCase()=="POST"){
39         return server.post(url,data);
40     }
41 }

数据请求

1 http("get", "/client/v1/goods/newactivityTemplate?aTId=130").then(data => {
2
3     })    

上面方法可以进行封装

API文件中movie.js文件中的内容为

import http from "utils/http.js"

export const city_api = ()=>http("get","/api/cityList")

export const movie_coming_api = (cityId=10)=>http("get","/api/movieComingList",{cityId:cityId})

在请求接口数据的时候的代码为

import {city_api} from "api/movie"

 async created() {
    if(!sessionStorage.getItem("comingList")){
         let data = await movie_coming_api(this.cityId);
         this.comingList = data.data.comingList;
         sessionStorage.setItem("comingList",JSON.stringify(data.data.comingList))
    }

  },

    async handleGetCityAction({commit}){
        let data = await city_api();    

        commit("handleGetCityMutation",data.data.cities)
    }

原文地址:https://www.cnblogs.com/muzishijie/p/11348964.html

时间: 2024-11-05 22:41:03

封装axios的接口请求数据方法的相关文章

web三种跨域请求数据方法

web三种跨域请求数据方法 以下测试代码使用php,浏览器测试使用IE9,chrome,firefox,safari <!DOCTYPE HTML> <html> <head> <meta charset="UTF-8"> <script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7.2.min.

利用SPM工具运行自己创建的小组件(使用common-model向后台接口请求数据)

步骤如下: 1.安装依赖:spm install -e 2.编译:spm build (编译好的东西会放在trunk-dist里面) 3.发布:spm app -d (会出来一个export端口,一般是:4745) 4.在浏览器中输入:http://localhost:4745/examples/index.html  即可运行 如果出错了,出bug了,修改完,重新操作2.3.4.三个步骤. for example: 1.组件架构如下: 2.代码:package.jon 配置信息(一些依赖):

Vue安装axios实现接口请求

一.vue-cli使用aios 1.安装命令:cnpm instal  axios --save 2.main.js引入全局使用 //axios import axios from 'axios' Vue.prototype.$axios = axios 3.组件或页面中使用 methods: { testAxios1:function(){ console.log('test'); this.$axios({ method: 'get', url: 'data/personData.json'

Asp.net MVC Vue Axios无刷新请求数据和响应数据

Model层Region.cs using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace WebApplication1.Models { public class Region { public int Id { get; set; } public string City { get; set; } } } Controller using System; us

访问图灵机器人接口请求数据

# Third-party Library import requests # POST请求参数 args = { "reqType": 0, "perception": { "inputText": { "text": "北京" } }, "userInfo": { "apiKey": "eaf3daedeb374564bfe9db10044bc20b&q

axios 将post请求数据转为formdata

axios({ url: '/api/index/getIndexlbt', method: 'post', data: { relevanceId:this.$route.params.id, pictureType:4 }, transformRequest: [function (data) { let ret = '' for (let it in data) { ret += encodeURIComponent(it) + '=' + encodeURIComponent(data[

golang接口请求方法

1.方法1:map[persistent_code: errcode:0 errmsg:ok unionid:0hY5m7YiPiSy1tmdVsiPDaItgiEiE openid:yseuqjbnfunc GetInfo(token string)(){baseurl := "https://oapi.dingtalk.com/sns/getuserinfo?sns_token="accessUrl := baseurl + tokenresponseToken,err:= htt

接口测试中读取excel中的请求数据含有中文问题,UnicodeEncodeError: &#39;latin-1&#39; codec can&#39;t encode character &#39;\u5c0f&#39; in position

错误信息:UnicodeEncodeError: 'latin-1' codec can't encode character '\u5c0f' in position 31: Body ('小') is not valid Latin-1. Use body.encode('utf-8') if you want to send it encoded in UTF-8的错误 原因:从excel中读取你的接口请求数据时带有中文时在发送求情时会出现上述错误.只需要将请求数据转化为bytes类型即可

小蚂蚁学习APP接口开发(9)—— APP版本升级的接口方法——处理客户端发来的请求数据

今天的笔记主要来记录最后的一个知识要点,APP客户端版本升级的接口开发. APP的开发主要由伟大而神圣的用户来更新,更新的流程应该是这样的: 开启APP--请求初始化接口init.php--检测是否需要更新---否--首页 ---是--更新 在初始化接口的时候,需要客户端发送几个数据: app_id            客户端id,比如: 1,安卓手机 2,iphone手机 version_id        大版本号id version_mini     小版本号id did