uniapp中使用axios 将post方法传参改成get传参方式

安装axios

npm install axios

封装axios请求 适配uniapp语法

// service.js文件

import Vue from 'vue'
import axios from 'axios'
const service = axios.create({
    withCredentials: true,
    crossDomain: true,
    baseURL:'xxxxxxxxxxxxxxx', //项目调用的后端地址
    timeout: 6000
})

// request拦截器,在请求之前做一些处理
service.interceptors.request.use(
    config => {
        // 给请求头添加token
		config.headers["token"] = 'xxxxxxxxxxxxxxxxxx'
        return config;
    },
    error => {
        console.log(error); // for debug
        return Promise.reject(error);
    }
);

//配置成功后的拦截器
service.interceptors.response.use(res => {
    if (res.data.status== 200) {
        return res.data
    } else {
        return Promise.reject(res.data.msg);
    }
}, error => {
    return Promise.reject(error)
})


axios.defaults.adapter = function(config) { //自己定义个适配器,用来适配uniapp的语法
    return new Promise((resolve, reject) => {
        console.log(config)
        var settle = require('axios/lib/core/settle');
        var buildURL = require('axios/lib/helpers/buildURL');
        uni.request({
            method: config.method.toUpperCase(),
            url: config.baseURL + buildURL(config.url, config.params, config.paramsSerializer),
            header: config.headers,
            data: config.data,
            dataType: config.dataType,
            responseType: config.responseType,
            sslVerify: config.sslVerify,
            complete: function complete(response) {
                console.log("执行完成:",response)
                response = {
                    data: response.data,
                    status: response.statusCode,
                    errMsg: response.errMsg,
                    header: response.header,
                    config: config
                };
                settle(resolve, reject, response);
            }
        })
    })
}
export default service

main.js文件中引入

import Vue from 'vue'
import axios from './utils/axios0.js'


Vue.config.productionTip = false

Vue.prototype.$axios = axios

methods中使用

axios会自动将 params 对象里面的数据拼接到 url 后面

	submit(params) {
	  Vue.prototype.$axios({
	    url: '/actTask/pass',
	    method:'post' ,
		header: http.header, //设置请求头
	    params  //axios会自动将 params 对象里面的数据拼接到 url 后面
	  }).then(res=>{
	  	console.log(res,'成功返回值')
	  }).catch(err=>{
		console.log(err,'失败返回值')
	  })
	}

传递参数区别

post传参

post转换成get方式传参

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值