jquery ajax传递多个对象或数组到后台

1、js对象创建:因为需要把对象json序列化后,才能传递到后台,后台根据json字符串进行反序列化。

2、Jquery   $.ajax方法的配置

针对$.ajax方法的配置参数需要进行修改:

1)dataType: "json", traditional:true:数据类型必须是json。默认的话,traditional为false,即jquery会深度序列化参数对象.
但servelt api无法处理,我们可以通过设置traditional 为true阻止深度序列化

2)这个是重点!需要把js对象进行json序列化,不然无法传递到服务端。

JSON.stringify(textDataInfo)

3、在服务器端进行反序列化:

List<Study> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Study>>(textDataInfo);

Newtonsoft.Json.JsonConvert是一个微软的免费json转换工具。

在应用程序中引用Newtonsoft.Json.dll 文件.

这样就可以直接转换成后台的实体了。

前台:

后台:

可以看到效果:

时间: 2024-10-06 01:19:21

jquery ajax传递多个对象或数组到后台的相关文章

jQuery ajax 传递JSON数组到Spring Controller

jQuery ajax传递单个JSON对象到后台很容易,这里记录的是传递多个JSON对象组成的JSON数组到java 后台,并说明java如何解析JSON数组. 1.js代码 var relationArrays=new Array();  //获取所有组的人员信息grid数据  var allGrid= $(".userGrid");  for(var i=0;i<allGrid.length;i++){    var rows=$(allGrid[i]).datagrid(&

springMVC通过ajax传递参数list对象或传递数组对象到后台

springMVC通过ajax传递参数list对象或传递数组对象到后台 环境: 前台传递参数到后台 前台使用ajax 后台使用springMVC 传递的参数是N多个对象 JSON对象和JSON字符串 在SpringMVC环境中,@RequestBody接收的是一个Json对象的字符串,而不是一个Json对象.然而在ajax请求往往传的都是Json对象,用 JSON.stringify(data)的方式就能将对象变成字符串.同时ajax请求的时候也要指定dataType: "json",

jquery ajax传递数组给php

写成:var data = {'item[]':item}; $.post(url,data,function(return_data) 写成item:item会导致数据缺失. 更多:http://www.cnblogs.com/ini_always/archive/2011/12/17/2291290.html jquery ajax传递数组给php,布布扣,bubuko.com

mvc jquery ajax传递数组null问题

mvc jquery ajax传递数,  areaIds是个int数组.后台action用list<int>接收.当我想传空值时,先用null传递,结果action收到的AreaIds竟然含有一个元素0,非常诡异,有空再查找具体原来.后来想传空时不再用Null,改成[],这样就ok了.很奇怪 function refreshStoreHouseDatas(marketId,areaIds,selectedValues) { var data = { marketId: marketId, ar

jQuery ajax传递特殊字符串问题

当你用ajax传递值到服务器端,如果值中包含特殊字符串如+,&等,在服务器端获取的结果可能就会出现差异,因为这些字符有其它用途,如“+”表示连接符,在转义后你获取到的就是空格.可以看看这些特殊字符与十六进制的关系: + 空格 / ? % & = # %2B %20 %2F %3F %25 %26 &3D %23 如果变量中确实需要包含这些特殊字符,请用encodeURIComponent()函数过滤,它会对这些字符编码,服务器端是会被自动解码的,不需要处理.另外,尽量提交json格

ASP.NET jquery ajax传递参数

第一种:GET传递 前台 ajax   GET 传递 :即在请求的地址后面加上参数,URL地址长度有显示,安全性低 后台接收:Request.QueryString[“参数名字”]! 例如: function LoadBar(id) { var project = id; var month = $("#txtMonth").val(); $.ajax({ type: "GET", async: false, url: 'GetProjectScore.aspx?p

SpringMVC,SpringBoot使用ajax传递对象集合/数组到后台

假设有一个bean名叫TestPOJO. 1.使用ajax从前台传递一个对象数组/集合到后台. 前台ajax写法: var testPOJO=new Array(); //这里组装testPOJO数组 $.ajax({ url:"testController/testPOJOs", data:JSON.stringify(testPOJO), type:"post", dataType:"json", contentType:"appl

JQuery中$.ajax()方法参数详解 ASP.NET jquery ajax传递参数

url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. type: 要求为String类型的参数,请求方式(post或get)默认为get.注意其他http请求方法,例如put和 delete也可以使用,但仅部分浏览器支持. timeout: 要求为Number类型的参数,设置请求超时时间(毫秒).此设置将覆盖$.ajaxSetup()方法的全局设 置. async:要求为Boolean类型的参数,默认设置为true,所有请求均为异步请求. 如果需要发送同步请求,请将此选项

jQuery ajax传递特殊字符参数(例如+)

使用jQuery ajax向后台传递参数para=1+1时后台接收到的参数为para=1 1,解决方案是 使用json传递,代码如下. var url = "/test/check"; $.ajax({ type: "post", url: url, // data: "para=1+1", data为字符串时 后台接收到的参数为 1 1 data: {"para":1+1}, // data为json数据时 后台接收到的参数