Vue中使用axios删除实现一个发送请求参数

  

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官网上有这么一句话

 vue中使用axios删除实现一个发送请求参数

结合案例:

//基于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删除实现一个发送请求参数