Ajax传值与后端接收参数方式探究
第一种
表单数据用JQ的serialize()序列化为“k1=v1&k2=v2...”键值对形式,以post请求的方式发送到后台。
而此时默认的contentType: "application/x-www-form-urlencoded": <form encType="">中默认的encType,form表单数据被编码为key/value格式发送到服务器(表单默认的提交数据的格式)
后端直接以封装好的对象来接收参数
也可以使用@RequestParam来接收参数,同时适用于get和post,只要Content-Type为application/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传值与后端接收参数方式探究相关推荐
- ajax传值到ashx接收反序列
//jsonData 格式// [{"PersonID":1,"Name":"Bryon Hetrick","Registered ...
- java前端传值,后端接收值为null
后端接收的userIp结果为null 是因为没有加 @RequestBody注解 解决了点个赞呗
- java contenttype_POST不同提交方式对应的Content-Type,及java服务器接收参数方式
简介: Content-Type(MediaType),即是Internet Media Type,互联网媒体类型:也叫做MIME类型,在Http协议消息头中,使用Content-Type来表示具体请 ...
- 前端向后端传递参数方式 - 表单序列化
给form表单设置id,input设置name,当点击提交,触发submitFrom()方法 <form id="itemAddForm" class="itemF ...
- jquery ajax传值和后台取参数
1 前台代码 var param = {"timestap":timestap};$(document).ready(function(){execute.disabled = t ...
- java接收参数_javaWeb收传参数方式总结
1.GET和POST请求,在传参方面有什么区别 GET传输的数据存储在URL上进行拼接 POST传输的数据存储在Requst Body(请求体)中 2.http请求中的Content-Type htt ...
- Ajax传值 简述方法(前后端传值)
Ajax传值的过程 提示:我是个小白,写博客只是为了保存自己总结的东西,若有错误请指正,共同学习!!感谢!!! 文章目录 前言 一.使用前提 1. 必须要先在前端引入jQuery. 2.Ajax要写在 ...
- 前端传一个String类型参数,后端接收的三种方法
前端传参时,参数放在路径上http://localhost:8080/test?name=justin,后端接收参数加注解@RequestParam String name 特点:借助@Request ...
- ajax post提交多个参数后台controller @RequestParam方式接收
注意: 返回数据类型用dataType: 'text',如果是 dataType: 'json',success获取不到 ####1.ajax post提交多个参数后台controller @Requ ...
最新文章
- 重温目标检测--YOLO v3
- MBG 相关资源链接
- python爬取百度文库付费文档_亲测免费转换百度文库付费文件
- python代码壁纸-爬虫 抓取王者荣耀所有英雄皮肤高清壁纸+超强注释
- VTK:可视化之FlatShading
- Bloom Filter(布隆过滤器)的概念和原理
- 网路知识:为什么宽带越用越慢,看完你就明白了
- 用Python给头像加上圣诞帽
- 计算方法c语言上机作业,考研复试-----C语言上机操作(三)
- 将您的Apple ID更改为其他电子邮件地址的方法
- 保持初心,不负韶华||回顾2021,展望2022
- c语言程序设计诗句,诗歌大全
- 网狐6603 创建游戏流程
- linux yum命令详解,yum命令详解
- SQL中查询MySQL的版本
- x265-1.7版本-encoder/dpb.cpp注释
- 谷歌学术得到论文被引用信息
- 索骥馆-OFFICE系列之《北风网Excel高端应用培训:多条件约束报表自动统计系统分析与制作》共4章更新完
- Ubuntu下使用GCC开发STM32的环境的搭建
- SAP的成本中心和利润中心的关系
热门文章
- python基础:几个取整函数用法
- Java:用Java程序打印出所有的 “水仙花数 ”。
- Android面试心得,已拿到字节跳动,京东,android实战项目源码
- 任务8:位图字体的制作
- Java 自动装箱拆箱原理及避坑
- 必备无版权素材网站分享,视频剪辑缺素材?
- Iphone如何稳定地触发半屏模式?单手模式
- 苍穹软件建立oracle,苍穹软件基本使用教程
- CSS transition(过渡效果)详解
- python读取文本文件时报错‘utf-8‘ codec can‘t decode byte 0xb4 in position 100: