spring 接收前台ajax传来的参数的几个方法
知识补充
JSON.stringify(), 将value(Object,Array,String,Number...)序列化为JSON字符串
JSON.parse(), 将JSON数据解析为js原生值
toJSON(), 作为JSON.stringify中第二个参数(函数过滤器)补充
1.传过来的单一的参数 不设计json
<script type="text/javascript">
$(function(){
var params = {name:"aaa"};
$.ajax({
type: "post",
url: "/paike/cltc/paiKeTest",
data: params,//非常重要的一步
datatype: "json", success:function(){
alert(3); }
})
}) </script>
springMvc后台接收方式为
@RequestMapping(value = "paiKeTest",method = RequestMethod.POST)
@ResponseBody
public String emrSubmit( @RequestParam(value="name")String name){ System.out.println("JSONTOJAVAOBJ==================="+name); return null;
}
2.$符号前面的都为页面的参数
<script type="text/javascript">
$(function(){
var mall = {
classid: $("#classid").val().trim(),
teacherid: $("#teacherid").val().trim(),
courseid: $("#courseid").val().trim(),
time: $("#time").val().trim(),
start: $("#start").val().trim(),
end: $("#end").val().trim()
}; $.ajax({
type: "post",
url: "/paike/cltc/paiKe",
data:{ds:JSON.stringify(mall)},//非常重要的一步 传过来的市String类型的json
datatype: "json",
success: function (){
alert(1);
}
}) })
</script>
springMvc接收值得方式为:
@RequestMapping(value = "paiKe",method = RequestMethod.POST)
@ResponseBody
public String paiKe(@RequestParam(value="ds")String str) {
System.out.println("++++++TTTT============"); System.out.println(str); return null;
}
*重点:后台解析:
1.导入相关jar包
<1> 单条解析
JSONObject jsonObject = JSONObject.fromObject(jsonStr);
User user = (User) JSONObject.toBean(jsonObject, user.class);
<2> 多条用数组解析
前台json格式的数据如何传入后台
1. 将要传入后台的数据组装成JSON格式的字符串:
var jsonStr = [{'name':'jim' , 'age':20} , {'name':'king' , 'age':26},{'name':'jge' , 'age':30}]
2. 使用jQuery的ajax请求后台
jQuery.ajax({
type: "post",
url: url,
dataType : 'json',
data : {'mydata':jsonStr},
success: function(data,textStatus){
alert("操作成功");
},
error: function(xhr,status,errMsg){
alert("操作失败!");
}
});
3.后台数据的接收与解析:
// 解析多条
JSONArray jsonArray = JSONArray.fromObject(jsonStr);
for (int i = 0; i < jsonArray.size(); i++) {
JSONObject jsonObject = jsonArray.getJSONObject(i);
Cltc cltc = (Cltc) JSONObject.toBean(jsonObject, Cltc.class);
}
String jsonStr = ServletActionContext.getRequest().getParameter("mydata");
JSONArray jsonArray = JSONArray.fromObject(jsonStr);
for(int i=0;i<jsonArray.length(); i++){
JSONObject jsonJ = jsonArray.getJSONObject(i);
jsonJ.getInt("name");
jsonJ.getString("age");
}
4. 操作完成
字符串和json对象和json对象数组相互转换
var jsonStr = "{\"userId\":\"001\"}"; // json对象字符串
var jsonArryStr = "[{\"userId\":\"001\"},{\"userId\":\"002\"}]"; // json数组字符串
var jsonObj = JSON.parse(jsonStr); // 字符串转为json对象
var jsonArry = JSON.parse(jsonArryStr); // 字符串转为json数组
var jsonStr = JSON.stringify(jsonObj); // json对象转为字符串
var jsonArryStr=JSON.stringify(jsonArry);// json数组转为字符串
spring 接收前台ajax传来的参数的几个方法的更多相关文章
- 【spring】spring boot中使用@EnableTransactionManagement 以后,spring mvc接收前台ajax的post方法传过来的参数,使用@RequestBody接收不到参数
在启动类上添加了注解: @EnableTransactionManagement, postMan测试接口,以这种方式传递参数: 测试结果: 接收不到参数 问题解决: 原因:是因为 这个项目中的Con ...
- SpringMVC Controller接收前台ajax的GET或POST请求返回各种参数
这几天写新项目遇到这个问题,看这位博主总结得不错,懒得写了,直接转!原文:http://blog.csdn.net/yixiaoping/article/details/45281721原文有些小错误 ...
- springmvc,controller层在接收浏览器url传来的参数带中文乱码问题。
请求地址:http://localhost:8080/saveFlashSale?fsRemark=哈哈哈哈哈 接收方法:@RequestMapping("/saveFlashSale&qu ...
- Spring Security 使用Ajax登陆无法跳转页面解决方法
使用Security的朋友都知道,使用Security后,不再需要我们自己过多的(还需要写少量代码)写登陆的逻辑,只需要自己在html的登陆表单上面定义好输入框name为:username和passw ...
- spring MVC 如何接收前台传入的JSON对象数组并处理
spring MVC 如何接收前台传入的JSON对象数组 主要方法: (主要用到的包是 net.sf.json 即:json-lib-2.3-jdk15.jar 完整相关jar包: commons- ...
- spring MVC 如何接收前台传入的JSON对象数组
spring MVC 如何接收前台传入的JSON对象数组 主要方法: (主要用到的包是 net.sf.json 即:json-lib-2.3-jdk15.jar 完整相关jar包: commons- ...
- Action接收页面传来的参数方法
接收页面传来的参数方法 1.第一种:在action中设置相应的变量 在相应的action中设置与将要传进来的参数名相同的变量 eg: 页面传给后台两个参数 name=chance & age ...
- spring接收json格式的多个对象参数(变通法)
两种方法 方法1 如果使用spring mvc同客户端通信,完全使用json数据格式,需要如下定义一个RequestMapping @Controller public class TestContr ...
- 使用Spring mvc接收整个url地址及参数时注意事项
使用Spring mvc接收整个url地址及参数时注意事项:url= http://baidu?oid=9525c1f2b2cd45019b30a37bead6ebbb&td=2015-08- ...
随机推荐
- GitHub 安装配置
1:到 Github 注册 页面中注册,填写用户名.邮箱和密码 选择免费服务 步骤三可以根据自身喜好勾选或者直接跳过 2.1.2 创建远程仓库 创建完账号后,可以开始创建仓库 但是这里我们还没有验证邮 ...
- LA 4329 Ping pong (树状数组)
题意:从左到右给你n个不同的数值,让你找出三个数值满足中间的数值在两边的数值之间的个数. 析:题意还是比较好理解的,关键是怎么求数量,首先我们分解一下只有两种情况,一个是左边<中间<右边, ...
- Spring 集成 MemCache
1)xml <bean class="com.danga.MemCached.SockIOPool" factory-method="getInstance&quo ...
- Java内存模型(一)
主存储器和工作存储器 Java虚拟机在执行Java程序的过程中会把它管理的内存划分为若干个不同的数据区域,这些区域包括方法区,堆,虚拟机栈,本地方法栈,程序计数器.方法区存储类信息,常量,字节码等数据 ...
- jersey学习笔记
最近一个项目用到了jersey,我只是负责前端.也借此机会好好了解一下REST webservice及一大推名词. http://redhacker.iteye.com/blog/1914105 1. ...
- Sharepoint 安装部署Project Server
#在SharePoint Central Administration-> Manage service applications中,点击New button,选择Project Service ...
- CentOS环境变量配置并生效
配置环境变量 1). #:vi /etc/profile 在最后面添加 PATH=~/dotnet/bin:$PATHexport PATH 2). #:source /etc/profile
- ASP.NET MVC Ajax 伪造请求
1.前言 CSRF(Cross-site request forgery)跨站请求伪造,ASP.NET MVC 应用通过使用AJAX请求来提升用户体验,浏览器开发者工具可以一览众山小,就很容易伪造了请 ...
- 命名空间“Microsoft”中不存在类型或命名空间名“Reporting”(是否缺少程序集引用?)
IDE升级到VS2017之后,出现了如题所示的报错,重新引用DLL的方法如下: 1.右键引用,选择添加引用. 2.左侧选择浏览,下面点击浏览按钮. 3.分别添加Microsoft.ReportView ...
- 违反了引用完整性约束。Dependent Role 具有多个具有不同值的主体。S级乌龙,自己制造的笑话
项目中碰到一个错误,捯饬了一个半小时没解决,吃完饭继续搞~ EF新增多表管理数据时报错:违反了引用完整性约束.Dependent Role 具有多个具有不同值的主体. 最终问题解决后,完全是因为自己的 ...