Vue中使用axios删除实现一个发送请求参数?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
<强> Vue中axios的删除和发布,将在传值上有点区别强>
post和put有三个参数,url,数据和配置,所以在使用这两个时,可以写成axios.post (api, {id: 1}), axios.put (api, {id: 1}),但是删除只有两个参数:url和配置,数据在配置中,所以需要写成axios.delete (api,{数据:{id: 1}})
如果是服务端将参数当作Java对象来封装接收则参数格式为:
{数据:param}
引用>var参数={id: 1、名称:& # 39;zhangsan& # 39;} 这个。axios.delete美元(“/ehrReferralObjPro",{数据:param}),然后(函数(响应){ }如果服务端将参数当做url参数接收,则格式为:{参数:param},这样发送的url将变为http: www.XXX.com& # 63; a=? b=?/p>
var参数={id: 1、名称:& # 39;zhangsan& # 39;} 这个。axios.delete美元(“/ehrReferralObjPro",{参数:param}),然后(函数(响应){ }axios数组传值时,我传到后台的是两个字符串数组,但是将参数当成url参数接收时,如果是正常传值,将数组作为一个请求参数传值时,后台接口接收不到匹配的参数,百度之后使用JSON.stringify(),但是使用以后,后台多了一对双引号,最后把后台改成对象封装接收参数,使用的第一种。
<强> vue项目中的。美元,这个。等后的美元用法强>
vue官网上有这么一句话
结合案例:
//基于axios封装的http请求插件 const axios=要求(& # 39;axios& # 39;);/* * *以下这种方式需要调用Vue。使用方法调用的时候调用这个。取回,美元。美元,这个。axios美元,这。把美元,这。美元德尔方法 */函数coverFormData(数据){ 返回种(数据)。地图(关键=比;{ 让价值=https://www.yisu.com/zixun/data(例子); 如果(typeof值==='对象'){ 值=JSON.stringify(价值); } 返回encodeURIComponent(键)+ '=' + encodeURIComponent(价值); }) } const http={ 安装(Vue选项){ axios.defaults.headers(“内容类型”)='应用程序/x-www-form-urlencoded; charset=utf - 8 '; 如果(选项){//超时设置 axios.defaults.timeout=选项。超时| | 10000;//默认请求地址设置 axios.defaults.baseURL=选项。baseURL | | ";//头部设置 如果选择。头& & typeof选项。头==='对象'){ (让关键Option.headers) { 如果(! Option.headers.hasOwnProperty(键))继续; axios.defaults.headers[主要]=Option.headers(例子); } }//请求/响应拦截器 选择。inRequest & & axios.interceptors.request.use (Option.inRequest、错误=> { Promise.reject(错误); }); 选择。铲球& & axios.interceptors.response.use (Option.inResponse、错误=> { Promise.reject(错误); }); }/* * * @param{}字符串url * @param{对象}params={}参数可以根据需要自行处理 */const fetch=(url, params={},配置={})=> { const str=coverFormData (params) . join (' & '); 返回新的承诺((解决,拒绝)=> { 让url地址=; 如果(str) { 地址+=& # 63;“+ str; } axios。(地址、配置)。然后(res=> { 解决(res.data); })。抓住(错误=> { 拒绝(错误); }); }); };/* * * @param{}字符串url * @param{对象}={}数据参数可以根据需要自行处理 */const帖子=(url, data={},配置={})=> { 让str=coverFormData(数据). join (' & '); 如果(配置。头& &配置。标题(“内容类型”)& & config.headers(“内容类型”).indexOf (application/json)> 1) { str=JSON.parse (JSON.stringify(数据)); } 返回新的承诺((解决,拒绝)=> { axios。帖子(url、str配置)。然后(res=> { 解决(res.data); })。抓住(错误=> { 拒绝(错误); }); }); };/* * * @param{}字符串url * @param{对象}={}数据参数可以根据需要自行处理 */const把=(url, data={},配置={})=> { const str=coverFormData(数据). join (' & '); 返回新的承诺((解决,拒绝)=> { axios。把(url、str配置)。然后(res=> { 解决(res.data); })。抓住(错误=> { 拒绝(错误); }); }); };/* * * @param{}字符串url * @param{对象}params={} */const del=(url配置={})=> { const str=coverFormData(配置). join (' & '); 返回新的承诺((解决,拒绝)=> { str axios.delete (url)。然后(res=> { 解决(res.data); })。抓住(错误=> { 拒绝(错误); }); }); }; 常量数据={axios、获取post、put del};//这个地方说明了为啥使用的时候是这个。取回,美元。美元,这个。axios美元,这。把美元,这。美元del这几个方式 种(数据)。地图(=> Object.defineProperty项(Vue.prototype,“美元”+项目,{价值:数据[项目]})); } }; 出口缺省http;Vue中使用axios删除实现一个发送请求参数