马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
前端向配景发送的请求数据有:JSON字符串和form表单两种格式。一样平常情况下可以两种格式都OK,但在某些情况下就需要根据情况来举行选择。
1.首先来看一下两种数据格式在请求中的体现形式:
JSON字符串:
Form Data:
看起来区别不是很大,都可以通过键值来获取相应的值。
再来看一组更复杂的数据:
JSON字符串:
Form Data:
这个时候的区别就体现出来了,Form表单会将数组按照索引举行拆分,所以这个时候配景不能直接通过dataArr来获取这个数组数据,只能根据索引来逐一获取。当数组length不确定时,处理处罚起来就比较麻烦了,所以这种情况传参使用JSON字符串的形式比较合适。详细要如何选择这两种数据格式,后面再先容
2.两种传参的实现:
2.1 JSON字符串:
request是axios创建的实例,axios的封装见 axios的封装 附上代码:
- request({
- url:"/api/post",
- method:"post",
- data:JSON.stringify({
- mess:'hello',
- dataArr:[{name:'test',vlaue:[1,2,3]},{name:"match",vlaue:[1,2]}]
- }),
- headers:{
- 'content-type':"application/json"
- }
- }).then(res=>{
- console.log('响应成功',res)
- },reject=>{
- console.log('响应失败',reject)
- })
复制代码
- 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企服之家,中国第一个企服评测及商务社交产业平台。 |