uni-app引入axios

引入过程中遇到两个问题

  1. 引入后页面空白

原因:引入axios版本过高,卸掉重新安装低版本

卸载:npm uninstall axios

安装低版本:npm install axios@0.17.2 --save

  1. 报错t.is not a function

原因:uniapp和小程序之间网络不兼容

解决方法:增加网络适配器

新增文件axios-dapter.js

import axios from 'axios'

// 适配小程序网络请求
axios.defaults.adapter = function (config) {
  return new Promise((resolve, reject) => {
    var settle = require('axios/lib/core/settle');
    var buildURL = require('axios/lib/helpers/buildURL');
    const url = new RegExp('^http(s)?://').test(config.url) ? config.url : config.baseURL + config.url // 判断时相对路径还是绝对路径,相对路径添加config.baseURL
    uni.request({
      method: config.method.toUpperCase(),
      url: buildURL(url, config.params, config.paramsSerializer),
      header: config.headers,
      data: config.data,
      dataType: config.dataType,
      responseType: config.responseType,
      sslVerify: config.sslVerify,
      complete: function complete (response) {
        response = {
          data: response.data,
          status: response.statusCode,
          errMsg: response.errMsg,
          header: response.header,
          config: config
        };
        settle(resolve, reject, response);
      }
    })
  })
}

并在main.js中引入使用

import "@/common/axios-dapter.js"

适配器代码来源:https://www.cnblogs.com/iPing9/p/13696764.html

单独页面使用axios示例

  1. 引入

import axios from 'axios'
  1. 使用

axios.defaults.baseURL = 'https://api.jsipark.cn'
axios({
    method: 'POST',
    url: '/v3/member/wx/app/plateAuth',
    headers: {
        "clientType": '2',
        "Content-Type": "application/json",
        "withCredentials": true,
    },                    
    data: {
    },
}).then(res => {
   console.log(res, 'morerrrrrr')
}).catch(err => {
    console.log(err, 'errrrrrrrr')
})
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值