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- ...
随机推荐
- 双击tr获取td
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 链家笔试链家——找寻最小消费获取最大平均分java
链家找寻最小消费获取最大平均分 输入: 5 5 4#表示科目数n,每科最大分值r,平均分avg 5 2#每科的实际得分,分数加1分的消耗的能量 4 7 3 1 3 2 2 5 输出: 4 #到达n*a ...
- jdk更换不起作用问题
本人前面装了jdk8,现在准备用jdk7,我安装好了jdk7:把系统变量中的JAVA_HOME 改为 D:\java\jdk\jdk7\jdk1.7.0_67,Path 下添加如下变量,记得加;和上一 ...
- springmvc 开涛 数据验证
两种方式:编程和声明. 编程需要:验证器,控制器,servlet.xml,错误码设置 声明需要:加jar包,控制器,跟孔浩讲得类似 错误消息设置的两种方式:硬编码:从资源文件中读取(默认,自定义).
- Bad Day -- Daniel Powter
Bad Day Bad Day (坏天气) 来自 Daniel Powter -- 2005年MTV欧洲音乐奖提名最佳新人, 出自专辑 ...
- ORACLE 管道技术应用
但是使用管道函数的时候是可以返回一个package里面定义的type的. create or replace package test_typeis type test_type_record ...
- delphi自带的SHA1算法
delphi自带的SHA1算法 uses IdHashSHA, IdGlobal; function SHA1(Input: String): String; begin with TIdHashSH ...
- mysql免安装版 安装配置 (转)
1. 下载MySQL Community Server 5.6.13 2. 解压MySQL压缩包 将以下载的MySQL压缩包解压到自定义目录下,我的解压目录是: "D:\Pr ...
- C# Socket 实现WebSocket服务器端
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.N ...
- [ASP.NET].NET逻辑分层架构总结
一.基础知识准备: 1.层的原则: (1)每一层以接口方式供上层调用. (2)上层只能调用下层. (3)依赖分为松散交互和严格交互两种. 2.业务逻辑分类: (1)应用逻辑. (2)领域逻辑. 3.采 ...