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')
})
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要在uni-app引入axios,你可以按照以下步骤进行操作: 1. 首先,你需要在uni-app项目的根目录下安装axios。打开命令行工具,进入到你的uni-app项目根目录,并执行以下命令安装axios: ``` npm install axios ``` 2. 安装完成后,在uni-app的项目目录中,找到`/src`文件夹。在该文件夹下创建一个新的文件夹,例如`/utils`,用于存放自定义的工具文件。 3. 在`/utils`文件夹中创建一个新的文件,例如`http.js`。在该文件中引入axios,并进行相关配置。示例如下: ```javascript import axios from 'axios'; // 创建一个axios实例 const instance = axios.create({ baseURL: 'http://api.example.com', // 设置接口请求的基础URL timeout: 5000, // 设置请求超时时间 }); // 请求拦截器 instance.interceptors.request.use( (config) => { // 在发送请求之前做一些处理,例如添加请求头等 return config; }, (error) => { // 请求错误处理 return Promise.reject(error); } ); // 响应拦截器 instance.interceptors.response.use( (response) => { // 对响应数据进行处理 return response.data; }, (error) => { // 响应错误处理 return Promise.reject(error); } ); export default instance; ``` 4. 在需要发送请求的地方,引入`http.js`文件,并使用axios发送请求。例如,在某个页面的方法中发送GET请求: ```javascript import http from '@/utils/http.js'; // 发送GET请求示例 http.get('/api/some-data') .then((response) => { // 处理返回的数据 console.log(response); }) .catch((error) => { // 处理请求错误 console.error(error); }); ``` 这样,你就成功地在uni-app引入axios,并可以使用它来发送网络请求了。记得根据实际情况修改基础URL和请求路径,以及添加其他需要的配置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值