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:www.XXX.com"htmlcode">
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-www-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 += '"" src="/UploadFiles/2021-04-02/20200825151841.jpg">import http from './assets/js/http'; Vue.use(http, { timeout: 60000, inRequest (config) { config.headers['Authorization'] = sessionStorage.getItem('TokenType') +" " + sessionStorage.getItem('AccessToken'); return config; }, inResponse (response) { return response; } });之后在子组件中就可以直接使用this.$post等了
比如:
this.$post("你的url", { CityId: cityid, Type: 3 }) .then(res => { if (res.Success) { this.searchSecondary = res.Data; } }) .catch(error => { console.log(error); });以上这篇Vue中 axios delete请求参数操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
华山资源网 Design By www.eoogi.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
华山资源网 Design By www.eoogi.com
暂无评论...
更新日志
2024年11月13日
2024年11月13日
- 【原神】大日御舆顶端怎么上去
- 胥拉齐《感谢有你》DTS-WAV
- 罗海英《金牌歌后》【WAV+CUE】
- 林叶《林叶·夜》【WAV/分轨】
- 群星《国语经典名曲01》音乐磁场系列[WAV+CUE][1G]
- 齐豫《滚石24K》24K金碟珍藏版系列[低速原抓WAV+分轨][1G]
- 齐秦《齐秦[三洋母带] 》1:1母盘直刻限量版[WAV分轨][1G]
- 英雄联盟双城之战第二季在哪里看 双城之战第二季观看地址分享
- 宝可梦大集结公测耿鬼怎么获取 耿鬼获取方法一览
- 宝可梦大集结国服公测有多少只宝可梦 大集结国服宝可梦一览
- 国外渲染大佬《FF7RE》新图赏
- 《夺宝奇兵》Xbox长实机公布:游戏玩法全面展示
- 《剑星》X《尼尔》联动官方图赏:永远看不腻的2B
- 甲子慧.2015-最爱【乾坤唱片】【WAV+CUE】
- 潘美辰.1993-找一个雨天【蓝与白】【WAV+CUE】