axios 转达json axios发送json数据

打印 上一主题 下一主题

主题 1059|帖子 1059|积分 3177

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
前端向配景发送的请求数据有:JSON字符串和form表单两种格式。一样平常情况下可以两种格式都OK,但在某些情况下就需要根据情况来举行选择。
1.首先来看一下两种数据格式在请求中的体现形式
JSON字符串:



Form Data:



看起来区别不是很大,都可以通过键值来获取相应的值。
再来看一组更复杂的数据:
JSON字符串:



Form Data:



这个时候的区别就体现出来了,Form表单会将数组按照索引举行拆分,所以这个时候配景不能直接通过dataArr来获取这个数组数据,只能根据索引来逐一获取。当数组length不确定时,处理处罚起来就比较麻烦了,所以这种情况传参使用JSON字符串的形式比较合适。详细要如何选择这两种数据格式,后面再先容
2.两种传参的实现
2.1 JSON字符串:



request是axios创建的实例,axios的封装见 axios的封装 附上代码:
  1. request({
  2.       url:"/api/post",
  3.       method:"post",
  4.       data:JSON.stringify({
  5.         mess:'hello',
  6.         dataArr:[{name:'test',vlaue:[1,2,3]},{name:"match",vlaue:[1,2]}]
  7.       }),
  8.       headers:{
  9.         'content-type':"application/json"
  10.       }
  11.     }).then(res=>{
  12.       console.log('响应成功',res)
  13.     },reject=>{
  14.       console.log('响应失败',reject)
  15.     })
复制代码


  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
2.2 Form Data:
FormData的实现方法有许多种:
1.form表单,如今根本不消了,这里不再先容。
2.引入qs,通过QS.stringify






3. new FormData(),通过append方法添加参数






这里还用到了文件上传,file.file就是同upload组件传入的文件
3.如何选择
1.当参数的数据结构比较复杂时,如不仅仅是简单的键值对,而是对象或数组嵌套结构时,发起使用JSON字符串传参
2.涉及文件上传时发起使用FormData
3.其他一样平常情况两者皆可
4.涉及文件上传同时又需要携带比较复杂的数据:Form Data+JSON.stringify



或:


原文:axios 转达json axios发送json数据_deanyuancn的技术博客_51CTO博客

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

郭卫东

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表