色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術文章
文章詳情頁

Vue中 axios delete請求參數操作

瀏覽:116日期:2022-12-03 15:46:23

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?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官網上有這么一句話

Vue中 axios delete請求參數操作

結合案例:

// 基于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 += ’?’ + 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中導入包使用:

Vue中 axios delete請求參數操作

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請求參數操作就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: IOS
相關文章:
主站蜘蛛池模板: 日本成a人片在线观看网址 日本成年人视频网站 | 一个人看的免费高清视频日本 | 国产在线观看一区二区三区四区 | 日韩在线视频中文字幕 | 91寡妇天天综合久久影院 | 91精品欧美一区二区综合在线 | 黄色激情在线 | 另类专区欧美 | 日本一级特黄特色大片免费视频 | 韩国理伦一级毛片 | 色精品视频 | 国产亚洲欧美另类久久久 | 日韩在线视频免费不卡一区 | 免费在线一级毛片 | 日韩美女一区二区三区 | 亚洲好逼| 日韩精品一区二区三区在线观看 | 欧美日韩一区二区在线观看 | 久久中文字幕亚洲精品最新 | 97视频免费在线观看 | 成人午夜性视频欧美成人 | 波多野结衣视频在线观看 | 91精品免费国产高清在线 | 亚洲国产一区二区三区在线观看 | 精品久久久久久免费影院 | 日本aaa毛片 | 中文国产成人精品少久久 | 午夜毛片网站 | 日韩一区二区天海翼 | 午夜神马视频 | 欧美国产成人一区二区三区 | 成人人免费夜夜视频观看 | a一级爱做片免费 | 亚洲精品国产第一区二区三区 | 欧美成年黄网站色视频 | 日韩字幕一中文在线综合 | 国产成人夜间影院在线观看 | 久久福利资源网站免费看 | 日韩国产在线 | 日韩美香港a一级毛片 | 一级特黄国产高清毛片97看片 |