axios

使用不再说明,直指常见问题元凶:

1.get(url[, config])和post(url[, data[, config]]),注意参数

get是在config中设置params{params:{...} }

post是设置data字段

详细看文档(在post里面用params会把参数放到url里的)

2.headers中的Content-Type,视乎请求方式(GET/POST等)的不同,有不同默认值和处理方式

3.post方式中

// data 是作为请求主体被发送的数据

// 只适用于这些请求方法 'PUT', 'POST', 和 'PATCH'

// 在没有设置 transformRequest 时,必须是以下类型之一:

// - string, plain object, ArrayBuffer, ArrayBufferView, URLSearchParams

// - 浏览器专属:FormData, File, Blob

// - Node 专属: Stream

content-type默认情况下将被正确设置。其他不合情景的类型由JSON.stringify()处理为字符串,且content-type为application/json。手动设置content-type并不影响这个处理逻辑。

对于data是一个普通对象,想以application/x-www-form-urlencoded正确post传输(即html表单的post提交方式)

简易解决方法:

(1)axios.post('/api/login', 'a=1&b=2' ) 我们自己直接写成符合的字符串

(2)使用URLSearchParams或者qs库进行处理,没啥好办法了。

4.get方式中

// params 是即将与请求一起发送的 URL 参数

// 必须是一个无格式对象(plain object)或 URLSearchParams 对象

get方式通常无需指定content-type,因此控制台中可能看不到application/x-www-form-urlencoded这个。但这里无论是plain object还是URLSearchParams对象,都不会被JSON.stringify()处理,最终均以a=1&b=2这种形式放入url中进行提交。

springboot后台

1.@RequestParam 可正确注入Content-Type为application/x-www-form-urlencoded和multiple/form-data传输的参数。另外由于约定优于配置,该注解可省略

2.@RequestBody 可正确注入Content-Type为application/json传输的参数。此时写一个与该json对应的java类即可对应注入。不想多写一个java类的话可以直接用Map代替,反正有键值对这样的结构就行。

3.springboot根据情况自行判断该参数到底用@RequestParam还是@RequestBody注入,可以偷懒。出现问题时,请手动指明

4.前端发来multipart/form-data,含有文件

一个文件时:public String upload (MultipartFile file),提醒,参数file要对应前端发来的参数名,否则手动使用@RequestParam指明

多个文件时用数组/集合存:public String upload (MultipartFile[] files)

axios传递数据到java_axios 传输与springboot后台接收数据相关推荐

  1. 基于BC95的数据转发,利用Python实现UDP接收数据,TCP转发数据

    基于BC95的数据转发,利用Python实现UDP接收数据,TCP转发数据 文章信息 环境信息 系统概览 基于Python的UDP(服务端)数据接收 1. UDP接受的数据如何读取 文章信息 撰写日期 ...

  2. iOS开发- 蓝牙后台接收数据(BLE4.0)

    最近在做一个蓝牙相关的项目, 需要在应用进入后台, 或者手机属于锁屏状态的情况下, 仍然保持蓝牙连接, 并且能正常接收数据. 本来以后会很麻烦, 但是学习了下..发现就2步而已.简单的不能再简单了. ...

  3. springboot 后台把数据制作成excel表格并打成压缩包下载

    项目里面遇到要把数据做成资料卡片,然后写入单独的excel文件,之后打成压缩包下载.这个过程记录一下,希望对大家有用. 1.在controller里面开个口子,接收客户端的请求.由于vue里面用了do ...

  4. Springboot后台接收前端Date类型

    From: https://my.oschina.net/zicheng/blog/2963117 这个问题不是专门针对Springboot的,Springmvc也同样适用于这一个问题. 昨的是Spr ...

  5. python 抓网卡数据包_Python选择网卡发包及接收数据包

    当一台计算机上有多个网卡时,需要选择对应IP地址的网卡进行发送数据包或者接受数据包. 1.选择网卡发包(应用scapy):plface=conf.route.route("××.××.××. ...

  6. 动态添加后的数据转换 — 后台接收数据

    let data = this.projectPersonnel.map(item => {let obj = {}obj.member = item.people.map(info => ...

  7. Springboot构建Echarts数据可视化

    Spring boot集成了tomcat等容器,效率更高,要实现数据的可视化,需要构建spring Boot框架架构web项目.同时使用注意的方式,就可以轻松建立前端访问路径与后端controller ...

  8. 前台传递JSON数据,后台spring mvc如何接收数据

    如何传递JSON数据到后台? 方式一, 使用post请求,请求类型为:application/x-www-form-urlencoded; charset=UTF-8 $.ajax({url : ur ...

  9. 监视和调整Linux网络协议栈:接收数据

    Table of Contents 有关监视和调整Linux网络协议栈的建议 总览 详细外观 网络设备驱动程序 初始化 网络设备初始化 启动网络设备 监控网络设备 调整网络设备 SoftIRQ 什么是 ...

最新文章

  1. 特斯拉首次达成连续4季度盈利:车卖的少了,钱却挣得多了
  2. Web设计离不开的4项基本原则
  3. sklearn之pipeline:pipeline的简介、使用技巧、案例应用之详细攻略
  4. 利用GDataXML解析XML文件
  5. react redux 相关技术
  6. 角距离恒星_恒星问卷调查的10倍机器学习生产率
  7. PostgreSQL 函数调试、诊断、优化 auto_explain
  8. BlackBerry 应用程序开发者指南 第二卷:高级--第7章 与BlackBerry应用程序通信
  9. for里面嵌套if_求求你们了,别再写满屏的 if/ else 了!
  10. 让一个视图对触摸事件作出响应, 需要实现的方法
  11. Excel 制作色卡
  12. 走向ASP.NET架构设计---第二章:设计 测试 代码 (前篇)
  13. windows server 2008R2 修改账户密码
  14. shopify抓单按时间总是少一些的解决
  15. 卖虾滑的鲜美来IPO:水产品预制菜第一股,蹭热度or真有料?
  16. 景区电商平台网站建设方案
  17. 纺织ERP_印染ERP软件_指点ERP简介
  18. 一般对称性和轮换对称性
  19. android备份:apk安装过程及原理,备份已安装应用的apk包技术实现方案
  20. 打造全新的网站群管理系统

热门文章

  1. 发现了一个美图看看软件的一个bug
  2. 如何在 Linux 终端中一次运行多个 Linux 命令(初学者教程)
  3. No SOURCES given to target: mpeg
  4. VMware与 Device/Credential Guard 不兼容.
  5. Mac支持NTFS两款软件
  6. Mac下载配置aria2和baidudl
  7. Android系统信息获取 之一:系统存储信息的获取(RAM,ROM,SDCard)
  8. android之普通蓝牙通信
  9. springboot之idea不合并空包
  10. 图像处理自学(五):CAMERA驱动软件硬件架构V4L2