Vue中 axios delete请求参数操作
网络编程 2021-07-04 14:06www.168986.cn编程入门
这篇文章主要介绍了Vue中 axios delete请求参数操作,具有很好的参考价值,希望对大家有所 帮助。一起跟随长沙网络推广过来看看吧
vue中axios 的delete和post,put在传值上有点区别
post和put有三个参数,url,data和config,所以在使用这两个时,可以写成axios.post(api,{id:1}),axios.put(api,{id:1}),delete只有两个参数url和config,data在config中,所以需要写成 axios.delete(api,{data:{id:1}})
如果是服务端将参数当作Java对象来封装接收则 参数格式为
{data: param}
var param={id:1,name:'zhangsan'} this.$axios.delete("/ehrReferralObjPro", {data: param}).then(function(response) { }
如果服务端将参数当做url 参数 接收,则格式为{params: param},这样发送的url将变为http:.XXX.?a=…&b=…
var param={id:1,name:'zhangsan'} this.$axios.delete("/ehrReferralObjPro", {params: param}).then(function(response) { }
axios 数组传值时,我传到后台的是两个字符串数组,将参数当成url参数接收时,如果是正常传值,将数组作为一个请求参数传值时,后台接口接收不到匹配的参数,百度之后使用JSON.stringify(),使用以后,后台多了一对双引号,把后台改成对象封装接收参数,使用的第一种。
补充知识vue 项目中的this.$get,this.$post等$的用法
vue官网上有这么一句话
结合案例
// 基于axios 封装的http请求插件 const axios = require('axios'); / 以下这种方式需要调用Vue.use方法 调用的时候调用 this.$fetch, this.$post, this.$axios, this.$put, this.$del 方法 / function coverFormData (data) { return Object.keys(data).map(key => { let value = data[key]; if (typeof value === 'object') { value = JSON.stringify(value); } return encodeURIComponent(key) + '=' + encodeURIComponent(value); }) } const http = { install(Vue, Option) { axios.defaults.headers['Content-Type'] = 'application/x--form-urlencoded;charset=utf-8'; if (Option) { // 超时设置 axios.defaults.timeout = Option.timeout || 10000; // 默认请求地址设置 axios.defaults.baseURL = Option.baseURL || ""; // 头部设置 if (Option.headers && typeof Option.headers === 'object') { for (let key in Option.headers) { if (!Option.headers.hasOwnProperty(key)) continue; axios.defaults.headers[key] = Option.headers[key]; } } // 请求/响应拦截器 Option.inRequest && axios.interceptors.request.use(Option.inRequest, error => { Promise.reject(error); }); Option.inResponse && axios.interceptors.response.use(Option.inResponse, error => { Promise.reject(error); }); } / @param {string} url @param {object} params={} 参数可以根据需要自行处理 / const fetch = (url, params = {}, config = {}) => { const str = coverFormData(params).join('&'); return new Promise((resolve, reject) => { let address = url; if (str) { address += '?' + str; } axios.get(address, config).then(res => { resolve(res.data); }).catch(error => { reject(error); }); }); }; / @param {string} url @param {object} data={} 参数可以根据需要自行处理 / const post = (url, data = {}, config = {}) => { let str = coverFormData(data).join('&'); if (config.headers && config.headers['Content-Type'] && config.headers['Content-Type'].indexOf('application/json') > -1) { str = JSON.parse(JSON.stringify(data)); } return new Promise((resolve, reject) => { axios.post(url, str, config).then(res => { resolve(res.data); }).catch(error => { reject(error); }); }); }; / @param {string} url @param {object} data={} 参数可以根据需要自行处理 / const put = (url, data = {}, config = {}) => { const str = coverFormData(data).join('&'); return new Promise((resolve, reject) => { axios.put(url, str, config).then(res => { resolve(res.data); }).catch(error => { reject(error); }); }); }; / @param {string} url @param {object} params={} / const del = (url, config = {}) => { const str = coverFormData(config).join('&'); return new Promise((resolve, reject) => { axios.delete(url, str).then(res => { resolve(res.data); }).catch(error => { reject(error); }); }); }; const data = { axios, fetch, post, put, del }; // 这个地方说明了为啥使用的时候是this.$fetch, this.$post, this.$axios, this.$put, this.$del 这几个方式 Object.keys(data).map(item => Object.defineProperty(Vue.prototype, '$' + item, { value: data[item] })); } }; export default http;
然后在main.js中导入包使用
import http from './assets/js/http'; Vue.use(http, { timeout: 60000, inRequest (config) { config.headers['Authorization'] = sessionStorage.getItem('TokenType') +" " + sessionStorage.getItem('AessToken'); return config; }, inResponse (response) { return response; } });
之后在子组件中就可以直接使用this.$post等了
比如
this.$post("你的url", { CityId: cityid, Type: 3 }) .then(res => { if (res.Suess) { this.searchSecondary = res.Data; } }) .catch(error => { console.log(error); });
以上这篇Vue中 axios delete请求参数操作就是长沙网络推广分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持狼蚁SEO。
上一篇:prettier自动格式化去换行的实现代码
下一篇:React实现轮播效果
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程