第一种

表单数据用JQ的serialize()序列化为“k1=v1&k2=v2...”键值对形式,以post请求的方式发送到后台。
而此时默认的contentType: "application/x-www-form-urlencoded": <form encType="">中默认的encType,form表单数据被编码为key/value格式发送到服务器(表单默认的提交数据的格式)

后端直接以封装好的对象来接收参数

也可以使用@RequestParam来接收参数,同时适用于get和post,只要Content-Typeapplication/x-www-form-urlencoded
而此时不能使用@RequestBody

第二种

前端传Json字符串,后端用@RequestBody接收参数

  • 先把表单数据转为Json对象
  • 再使用JSON.stringify()把对象转为Json字符串
  • 此时contentType要改为'application/json;charset=UTF-8'

将表单数据转为Json对象serializeObject()需要自定义,源码如下:

//form序列化为json对象
$.fn.serializeObject = function()
{var o = {};var a = this.serializeArray();$.each(a, function() {if (o[this.name] !== undefined) {if (!o[this.name].push) {o[this.name] = [o[this.name]];}o[this.name].push(this.value || '');} else {o[this.name] = this.value || '';}});return o;
};

下图为Json对象Json字符串格式数据打印

后台接收用@RequestBody注解,@RequestBody主要用来接收前端传递给后端的json字符串中的数据的(请求体中的数据的);GET方式无请求体,所以使用@RequestBody接收数据时,前端不能使用GET方式提交数据,而是用POST方式进行提交。

在后端的同一个接收方法里,@RequestBody与@RequestParam()可以同时使用,@RequestBody最多只能有一个,而@RequestParam()可以有多个。

Ajax传值与后端接收参数方式探究相关推荐

  1. ajax传值到ashx接收反序列

    //jsonData 格式// [{"PersonID":1,"Name":"Bryon Hetrick","Registered ...

  2. java前端传值,后端接收值为null

    后端接收的userIp结果为null 是因为没有加 @RequestBody注解 解决了点个赞呗

  3. java contenttype_POST不同提交方式对应的Content-Type,及java服务器接收参数方式

    简介: Content-Type(MediaType),即是Internet Media Type,互联网媒体类型:也叫做MIME类型,在Http协议消息头中,使用Content-Type来表示具体请 ...

  4. 前端向后端传递参数方式 - 表单序列化

    给form表单设置id,input设置name,当点击提交,触发submitFrom()方法 <form id="itemAddForm" class="itemF ...

  5. jquery ajax传值和后台取参数

    1 前台代码 var param = {"timestap":timestap};$(document).ready(function(){execute.disabled = t ...

  6. java接收参数_javaWeb收传参数方式总结

    1.GET和POST请求,在传参方面有什么区别 GET传输的数据存储在URL上进行拼接 POST传输的数据存储在Requst Body(请求体)中 2.http请求中的Content-Type htt ...

  7. Ajax传值 简述方法(前后端传值)

    Ajax传值的过程 提示:我是个小白,写博客只是为了保存自己总结的东西,若有错误请指正,共同学习!!感谢!!! 文章目录 前言 一.使用前提 1. 必须要先在前端引入jQuery. 2.Ajax要写在 ...

  8. 前端传一个String类型参数,后端接收的三种方法

    前端传参时,参数放在路径上http://localhost:8080/test?name=justin,后端接收参数加注解@RequestParam String name 特点:借助@Request ...

  9. ajax post提交多个参数后台controller @RequestParam方式接收

    注意: 返回数据类型用dataType: 'text',如果是 dataType: 'json',success获取不到 ####1.ajax post提交多个参数后台controller @Requ ...

最新文章

  1. 重温目标检测--YOLO v3
  2. MBG 相关资源链接
  3. python爬取百度文库付费文档_亲测免费转换百度文库付费文件
  4. python代码壁纸-爬虫 抓取王者荣耀所有英雄皮肤高清壁纸+超强注释
  5. VTK:可视化之FlatShading
  6. Bloom Filter(布隆过滤器)的概念和原理
  7. 网路知识:为什么宽带越用越慢,看完你就明白了
  8. 用Python给头像加上圣诞帽
  9. 计算方法c语言上机作业,考研复试-----C语言上机操作(三)
  10. 将您的Apple ID更改为其他电子邮件地址的方法
  11. 保持初心,不负韶华||回顾2021,展望2022
  12. c语言程序设计诗句,诗歌大全
  13. 网狐6603 创建游戏流程
  14. linux yum命令详解,yum命令详解
  15. SQL中查询MySQL的版本
  16. x265-1.7版本-encoder/dpb.cpp注释
  17. 谷歌学术得到论文被引用信息
  18. 索骥馆-OFFICE系列之《北风网Excel高端应用培训:多条件约束报表自动统计系统分析与制作》共4章更新完
  19. Ubuntu下使用GCC开发STM32的环境的搭建
  20. SAP的成本中心和利润中心的关系

热门文章

  1. python基础:几个取整函数用法
  2. Java:用Java程序打印出所有的 “水仙花数 ”。
  3. Android面试心得,已拿到字节跳动,京东,android实战项目源码
  4. 任务8:位图字体的制作
  5. Java 自动装箱拆箱原理及避坑
  6. 必备无版权素材网站分享,视频剪辑缺素材?
  7. Iphone如何稳定地触发半屏模式?单手模式
  8. 苍穹软件建立oracle,苍穹软件基本使用教程
  9. CSS transition(过渡效果)详解
  10. python读取文本文件时报错‘utf-8‘ codec can‘t decode byte 0xb4 in position 100: