axios封装和传参

1.开发环境 vue+typescript

2.电脑系统 windows10专业版

3.在开发的过程中,我们会经常使用到 axios进行数据的交互,下面我来说一下,axios封装和传参!

4-1:下面结构如下:

4-2:request.js代码如下:import axios from 'axios'

import qs from 'qs'

axios.defaults.timeout = 2000000; //响应时间

axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded'; //配置请求头

// axios.defaults.baseURL = 'http://192.168.137.208:3000/'; //配置接口地址

//POST传参序列化(添加请求拦截器)

axios.interceptors.request.use((config) => {

//在发送请求之前做某件事

// config.headers.Accept="appliaction/json,text/plan";

if(config.method === 'post'){

config.data = qs.stringify(config.data);

}

return config;

},(error) =>{

console.log('错误的传参')

return Promise.reject(error);

});

// axios.interceptors.response.use((res) => {

// //对响应数据做些事

// if (!res.data) {

// return Promise.resolve(res);

// }

// return res;

// }, (error) => {

// console.log(error);

// console.log('网络异常')

// return Promise.reject(error);

// });

//返回状态判断(添加响应拦截器)

axios.interceptors.response.use((res) =>{

//对响应数据做些事

if(!res.data.success){

return Promise.resolve(res);

}

return res;

}, (error) => {

console.log('网络异常')

return Promise.reject(error);

});

//返回一个Promise(发送post请求)

export function fetchPost(url,param) {

return new Promise((resolve, reject) => {

axios.post(url,param)

.then(response => {

resolve(response);

}, err => {

reject(err);

})

.catch((error) => {

reject(error)

})

})

}

// 返回一个Promise(发送get请求)

export function fetchGet(url,param) {

return new Promise((resolve, reject) => {

axios.get(url,{params:param})

.then(response => {

resolve(response)

}, err => {

reject(err)

})

.catch((error) => {

reject(error)

})

})

}

export default {

fetchPost,

fetchGet,

}

//注意:请求头的配置,决定了传参的方法和格式,请求头的配置至关重要

5.SheBei.ts代码如下:import {fetchPost,fetchGet} from '@/utils/request'

export function feng(feng){

return fetchPost('/feng',feng);

}

6.Home.vue请求代码如下:mounted(){

let a:any={

"name":"111",

"pass":"000"

}

feng(a).then((res)=>{

console.log(res);

})

}

7.效果如下:

8.在node.js中输入如下:

//可以看到,接受到了前端传过来的参数!

9.参数的传递取决于,request.ts中请求头的配置!

10.请求头配置如下:--第一种

axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded'; //请求体中的数据会以普通表单形式(键值对)发送到后端

--第二种

axios.defaults.headers.post['Content-Type'] ='application/json'; // 请求体中的数据会以json字符串的形式发送到后端

--第三种

axios.defaults.headers.post['Content-Type'] ='multipart/form-data'; // 它会将请求体的数据处理为一条消息,以标签为单元,用分隔符分开。既可以上传键值对,也可以上传文件

11.使用10第一种,传参效果如下:

12.使用10第二种,传参效果如下:

//注意:使用这种方法,需要修改request.ts代码:

13.使用10第三种,传参效果如下:

14.本期的教程到了这里就结束啦,让我们一起努力走向巅峰!

axios 上传文件 封装_axios封装和传参相关推荐

  1. axios 上传文件 封装_axios 封装【满足常规数据上传及file上传】

    axios 封装[满足常规数据上传及file上传] request.js /* 封装axios */ const axios = require('axios'); import { featchAp ...

  2. Fiddler小技巧-测试上传文件接口多参数并传情况

    写了多年的API了,fidder还真是方便至极相对于postman来说. 两种常用方式: 抓包:app通过代理方式,就可以在pc端看到fidder的请求了 因为会监控好多跟我们需要的没关系的HTTP请 ...

  3. 从手机里上传文件到云服务器,手机传文件到云服务器

    手机传文件到云服务器 内容精选 换一换 安装传输工具在本地主机和Windows云服务器上分别安装数据传输工具,将文件上传到云服务器.例如QQ.exe.在本地主机和Windows云服务器上分别安装数据传 ...

  4. 服务器传文件的工具,向服务器传文件的工具

    向服务器传文件的工具 内容精选 换一换 Web服务端证书,即鲲鹏性能分析工具的Web服务端与Web浏览器之间通讯的证书.已成功登录鲲鹏性能分析工具.只有管理员用户(tunadmin)可以执行生成CSR ...

  5. 手机怎么向服务器传文件,手机向云服务器传文件

    手机向云服务器传文件 内容精选 换一换 登录Windows操作系统的弹性云服务器时,需要使用密码方式登录.此时,用户需要先根据购买弹性云服务器时下载的私钥文件,获取该弹性云服务器初始安装时系统生成的管 ...

  6. 怎样给windows服务器传文件,windows服务器怎么远程传文件

    windows服务器怎么远程传文件 内容精选 换一换 本节操作介绍如何在Windows操作系统的本地主机上使用FTP上传文件到云服务器.已在待上传文件的云服务器中搭建 FTP 服务.如果您的云服务器为 ...

  7. 电脑服务器传文件夹,服务器和电脑传文件夹吗

    服务器和电脑传文件夹吗 内容精选 换一换 华为云帮助中心,为用户提供产品简介.价格说明.购买指南.用户指南.API参考.最佳实践.常见问题.视频帮助等技术文档,帮助您快速上手使用华为云服务. 运行pi ...

  8. axios如何在nodejs项目里封装_axios封装api

    Vuex + axios 发送请求 Vue 原本有一个官方推荐的 ajax 插件 vue-resource,但是自从 Vue 更新到 2.0 之后,官方就不再更新 vue-resource 目前主流的 ...

  9. ftp 上传文件夹_建站上传下载FTP工具

    做网站的朋友,经常要在本地和服务器之间上传下载源码,给大家推荐两款好用的FTP上传下载工具,便于大家开发维护站点. 一.FileZilla FileZilla比其他任何一款FTP软件都要简单 多协议支 ...

最新文章

  1. stackoverflow_StackOverflow帐户如何确保您在公认的开发人员表格中占有一席之地
  2. Android提示版本号更新操作流程
  3. http keep-alive
  4. php写简单接口_使用PHP如何编写简单的App接口
  5. 2.25~当svn服务器ip地址变了怎么办?
  6. C++中 Map的了解与基本用法(代码演示+自我总结+map中一对多的用法)
  7. 七牛云对象存储实现文件的上传与下载
  8. plc控制伺服电机 四轴攻丝机案例 该程序为plc控制伺服电机的工程案例程序,包含伺服电机接线图,包含程序流程的详细解释说明
  9. ApacheCN 翻译活动进度公告 2019.6.15
  10. java获取时分秒毫秒_java 中毫秒数转换成时分秒格式java中有什么方法可以把一个毫秒数格式化成”时:分:秒”...
  11. 中国最美的一千个汉字 : 千字文4
  12. ck6.8整合php,CKplayer-超酷网页视频播放器
  13. c语言中begin用法,C++ deque cbegin()用法及代码示例
  14. zabbix使用SNMP监控思科无线控制器WLC
  15. vue + iview Table表头中插入图片
  16. java SSM 框架 多数据源
  17. 【模式识别】Boosting
  18. java——final关键字、权限、内部类、引用类型
  19. 乐学偶得python怎么样_乐学偶得 - 主页
  20. 最全面的Java核心技术开发手册

热门文章

  1. 正则表达式匹配(字符串)
  2. 安装python中wordcloud的几种方法
  3. 查找指定数字在数组中出现的位置(有几次打印几次)
  4. JavaScript数组去重的方式
  5. 钉钉发送消息详细教程-- java
  6. 1010 一元多项式求导
  7. 金优商城:养肝等于养命!春季养肝得到好气色
  8. 苹果6s上市时间_苹果6s开不了机,苹果6s开机一直显示白屏黑苹果
  9. 如何轻松将3D模型导入SketchUp?(附试用版文件)
  10. Direct3D 12 Preview