使用Vue的脚手架搭建的前端项目,通常都使用Axios封装的接口请求,项目中引入的方式不做多介绍,本文主要介绍接口调用与不同形式的传参方法。

一、Get请求:

Get请求比较简单,通常就是将参数拼接到url中 用? &连接
或者用下面这种方式:
this.axios.get(this.getWxQyUserInfoUrl, {
params: {
agentid: this.doLoginParams.agentid,
code: this.doLoginParams.code
}
})

二、Post请求:

1)表单数据 FormData传参方式
① axios配置,设置请求头:Header
Accept: text/plain, text/html --指定客户端能够接收的内容类型
Content-Type:Content-Type: application/x-www-form-urlencoded --请求的与实体对应的MIME信息
一般设置方式如下:
this.axios.defaults.headers['Content-Type'] = 'application/x-www-form-urlencoded;'; //配置请求头 //JSON格式的为:'application/json;charset=UTF-8'
指定客户端能接受的内容类型 一般在全局的封装request中:main.js中
axios.interceptors.request.use(config => {
//指定客户端能够接收的内容类型
config.headers.Accept = "application/json, text/plain,*/*"
return config;
}, error => Promise.error(error)
)
 
跟设置单独的响应异常处理类似:
axios.interceptors.response.use(response => {
// 系统报错
return response;
}, error => {
// 可根据需要将请求报错跳转到网络异常页面
console.log("主页面捕获axios异常:"+JSON.stringify(error));
// router.push({
// path: "/networkerr",
// name: "networkerr"
// });
})
② 请求接口封装文件中,引入qs中间件,请求方法为post时,参数需要通过qs.stringify函数进行格式转换
qs模块是axios中自带的不需要下载,直接导入 核心就是把参数转换成标准的键值对
全局引用方式:main.js中
 import qs from 'qs';
 Vue.prototype.$qs = qs; 
然后在各个页面就可以直接 this.$qs.stringify(params)使用了
单页面引用:
var qs = require('qs');
this.axios.post(this.postUrl,qs.stringify({"value1":100,"vaule2":"123"}))
 
2)JSON字符串传参方式
① axios配置,设置请求头:Head
this.axios.defaults.headers['Content-Type'] = 'application/json;charset=UTF-8'; //配置请求头
② 请求参数使用SON.stringify()函数转换,也可以不转换直接传参数
this.axios.post(this.imageSaveUrl, JSON.stringify(params))
 
三、拓展补充
最后附上设置webservice接口直接返回json格式而不是xml格式的响应:
改变数据的返回方式,用 Context.Response.Write代替return 语句,可返回Json格式数据,如下:
Context.Response.Charset = "utf-8"; //设置字符集类型 或者GB2312
Context.Response.ContentEncoding = System.Text.Encoding.UTF8; //或者System.Text.Encoding.GetEncoding("GB2312");
Context.Response.Write(jaoData);
Context.Response.End();
 
 
 

Vue + Axios 请求接口方法与传参详解的更多相关文章

  1. WebApi 接口参数:传参详解

    前言:还记得刚使用WebApi那会儿,被它的传参机制折腾了好久,查阅了半天资料.如今,使用WebApi也有段时间了,今天就记录下API接口传参的一些方式方法,算是一个笔记,也希望能帮初学者少走弯路.本 ...

  2. axios 的 get 方法 params 传参 400 的问题

    axios 的 get 方法 params 传参,在输入框中输入某些特殊字符 例如中括号,请求时会直接报 400 错误,Bad Request. 原因:axios 的 get 方法,在使用 param ...

  3. C#进阶系列——WebApi 接口参数不再困惑:传参详解

    前言:还记得刚使用WebApi那会儿,被它的传参机制折腾了好久,查阅了半天资料.如今,使用WebApi也有段时间了,今天就记录下API接口传参的一些方式方法,算是一个笔记,也希望能帮初学者少走弯路.本 ...

  4. WebApi 接口参数不再困惑:传参详解

    阅读目录 一.get请求 1.基础类型参数 2.实体作为参数 3.数组作为参数 4.“怪异”的get请求 二.post请求 1.基础类型参数 2.实体作为参数 3.数组作为参数 4.后台发送请求参数的 ...

  5. 【转】C#进阶系列——WebApi 接口参数不再困惑:传参详解

    原文地址:http://www.cnblogs.com/landeanfen/archive/2016/04/06/5337072.html 阅读目录 一.get请求 1.基础类型参数 2.实体作为参 ...

  6. C#WebApi 接口参数不再困惑:传参详解

    前言:还记得刚使用WebApi那会儿,被它的传参机制折腾了好久,查阅了半天资料.如今,使用WebApi也有段时间了,今天就记录下API接口传参的一些方式方法,算是一个笔记,也希望能帮初学者少走弯路.本 ...

  7. [转]C#进阶系列——WebApi 接口参数不再困惑:传参详解

    本文转自:http://www.cnblogs.com/landeanfen/p/5337072.html#_label1_2 阅读目录 一.get请求 1.基础类型参数 2.实体作为参数 3.数组作 ...

  8. WebApi接口传参不再困惑(4):传参详解(转载)

    WebApi接口传参不再困惑(4):传参详解   前言:还记得刚使用WebApi那会儿,被它的传参机制折腾了好久,查阅了半天资料.如今,使用WebApi也有段时间了,今天就记录下API接口传参的一些方 ...

  9. WebApi接口传参不再困惑(4):传参详解 一、get请求 二、post请求 三、put请求 四、delete请求 五、总结

    前言:还记得刚使用WebApi那会儿,被它的传参机制折腾了好久,查阅了半天资料.如今,使用WebApi也有段时间了,今天就记录下API接口传参的一些方式方法,算是一个笔记,也希望能帮初学者少走弯路.本 ...

  10. sC#进阶系列——WebApi 接口参数不再困惑:传参详解

    原文:http://www.cnblogs.com/landeanfen/p/5337072.html 一.get请求 对于取数据,我们使用最多的应该就是get请求了吧.下面通过几个示例看看我们的ge ...

随机推荐

  1. vue中ref的用法

    用法1. vue给我们提供一个操作dom的属性,ref.绑定在dom元素上时,用起来与id差不多,通过this.$refs来调用: <div ref="test">te ...

  2. 重温c语言之,7天开整,就是随便的写写,第三天+第四天版

    一:指针 1.关于指针的含义---粗略 例如:int a=10; int* p=&a; 这里的*,是说明p是指针变量,int 说明p是指向的对象是int类型的 *p=20, 这里的*是解引用符 ...

  3. win10启用长路径

    方法一:操作组策略 Win+R 输入 gpedit.msc 依次点击[计算机配置]->[管理模板]->[系统]->[文件系统],找到 "启用win32长路径" 并 ...

  4. 从使用delete释放指针导致程序崩溃看变量初始化

    先来看下面的代码 bool FuncTest(LPCTSTR lpcProc) { bool bRet = false; ... if (CONDITION1) { goto FUNC_CLEAN; ...

  5. 5.6 Linux Vim撤销和恢复撤销快捷键

    使用 Vim 编辑文件内容时,经常会有如下 2 种需求: 对文件内容做了修改之后,却发现整个修改过程是错误或者没有必要的,想将文件恢复到修改之前的样子. 将文件内容恢复之后,经过仔细考虑,又感觉还是刚 ...

  6. 基于Java+SpringBoot+Mysql实现的古诗词平台功能设计与实现一

    一.前言介绍: 1.1 项目摘要 随着信息技术的迅猛发展和数字化时代的到来,传统文化与现代科技的融合已成为一种趋势.古诗词作为中华民族的文化瑰宝,具有深厚的历史底蕴和独特的艺术魅力.然而,在现代社会中 ...

  7. 鸿蒙Navigation拦截器实现页面跳转登录鉴权方案

    我们在进行页面跳转时,很多情况下都得考虑登录状态问题,比如进入个人信息页面,下单交易页面等等.在这些场景下,通常在页面跳转前,会先判断下用户是否已经登录,若已登录,则跳转到相应的目标页面,若没有登录, ...

  8. MQTT应用:Air780EP低功耗4G模组AT开发

    ​ 终于要讲一讲MQTT应用! 本文应各位大佬邀请,详细讲解Air780EP模组MQTT应用的多个AT命令. Air780EP是低功耗4G模组之一,支持全系列的AT指令以及LuatOS脚本二次开发. ...

  9. Edge(Chrome)浏览器插件WordSaver的演示,可以查英语生词并记录生词及所在句子,导出为anki格式

    Edge(Chrome)浏览器插件WordSaver的演示,可以查英语生词并记录生词及所在句子,导出为anki格式 Bilibili哔哩哔哩视频

  10. OSG开发笔记(三十二):深入理解相机视口、制作支持与主视图同步变换旋转的相机HUD

    前言   深入理解相机视口,摸索相机视口旋转功能,背景透明或者不透明.  本篇,实现了一个左下角旋转HUD且背景透明的相机视口.   Demo                  HUD相机的坐标    ...