ajax传递复杂参数
使用mvc测试Demo
================view================
@{ViewBag.Title = "Index";Layout = null;
}
<h2>ajax请求参数测试</h2><script src="~/Scripts/jquery-1.8.2.js"></script>
<div><div id="div_Data"><form id="_form"><table><tbody><tr><td><label>编号:</label></td><td><input type="text" name="ID" value="2" /></td></tr><tr><td><label>名称:</label></td><td><input type="text" name="Name" value="测试人员" /></td></tr><tr><td><label>列表:</label></td><td><input type="text" name="ListStr" value="测试A,测试B" /></td></tr><tr><td><label>日期:</label></td><td><input type="text" name="Date" value="2015-12-17 10:50:30" /></td></tr></tbody></table></form></div><input id="inpBtn" type="button" value="点击事件+get" /><input id="inpBtn2" type="button" value="点击事件2+get" /><input id="inpBtn3" type="button" value="点击事件3+post" /><input id="inpBtn4" type="button" value="点击事件4+post" /></div>
<script type="text/javascript">Array.prototype.toJson = function () {var json = {};for (var i in this) {var o = this[i];if (o.name != '__VIEWSTATE') {if (typeof (json[o.name]) == 'undefined')json[o.name] = o.value;elsejson[o.name] += "," + o.value;}}return json;}$('#inpBtn').click(function () {debugger;var _formObj = $('#_form');var arr = _formObj.serializeArray();//获取表单数据for (var i = 0, l = arr.length; i < l;i++){if (arr[i].name == "ListStr") {var list = arr[i].value.split(',');delete arr[i];for (var j = 0, len = list.length; j < len; j++) {var item = {name: "ListStr",value: list[j]};arr.push(item);}break;}}$.ajax({url: '/AjaxRequest/GetTestAjax',type: 'get',data: arr,async: false,success: function (data, status) {debugger;},error: function (ex) {debugger;}});});$('#inpBtn2').click(function () {debugger;var _formObj = $('#_form');var arr = _formObj.serializeArray();var jsonObj = arr.toJson();jsonObj.ListStr = jsonObj.ListStr.split(',');var json = JSON.stringify(jsonObj);//object转字符串$.ajax({url: '/AjaxRequest/GetTestAjax2',type: 'get',data: { 'json': json },async: false,success: function (data) {debugger;},error: function (ex) {debugger;}});});$('#inpBtn3').click(function () {debugger;var _formObj = $('#_form');var arr = _formObj.serializeArray();var jsonObj = arr.toJson();jsonObj.ListStr = jsonObj.ListStr.split(',');var aaa = jsonObj.ListStr;//var list = JSON.stringify(aaa);//var json = JSON.stringify(jsonObj);//object转字符串var para = {test: jsonObj,list: aaa};var paraStr = JSON.stringify(para);$.ajax({url: '/AjaxRequest/GetTestAjax3',type: 'post',contentType: "application/json",data: paraStr,async: false,success: function (data) {debugger;},error: function (ex) {debugger;}});});$('#inpBtn4').click(function () {debugger;var _formObj = $('#_form');var arr = _formObj.serializeArray();var jsonObj = arr.toJson();jsonObj.ListStr = jsonObj.ListStr.split(',');var json = JSON.stringify(jsonObj);//object转字符串$.ajax({url: '/AjaxRequest/GetTestAjax4',type: 'post',contentType: "application/json",data: json,async: false,success: function (data) {debugger;},error: function (ex) {debugger;}});});
</script>
===============controller===============
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using System.Web.Script.Serialization; namespace ContentReplace.Controllers {public class AjaxRequestController : Controller{//// GET: /AjaxRequest/public ActionResult Index(){return View();}public JsonResult GetTestAjax(TestClass test){var data = "";return Json(data, JsonRequestBehavior.AllowGet);}public JsonResult GetTestAjax2(){var json = Request["json"];var jss = new JavaScriptSerializer();var arr = jss.Deserialize<TestClass>(json);var data = "";return Json(data, JsonRequestBehavior.AllowGet);}[HttpPost]public JsonResult GetTestAjax3(TestClass test,List<string> list){var data = "";return Json(data, JsonRequestBehavior.AllowGet);}[HttpPost]public JsonResult GetTestAjax4(TestClass test){var data = "";return Json(data, JsonRequestBehavior.AllowGet);}}public class TestClass{public int ID { get; set; }public string Name { get; set; }public DateTime Date { get; set; }public List<string> ListStr { get; set; }} }
转载于:https://blog.51cto.com/11028335/1726772
ajax传递复杂参数相关推荐
- jquery 乱码 传参_jquery ajax传递中文参数乱码问题及解决方法说明
jQuery传递中文参数乱码,原因是默认的传递方式没有采用UTF-8,所有我们可以在传递参数的时候对参数进行编码,然后再操作,代码如下,红色的代码为传递的参数,已标注 smsubmitclick = ...
- ajax传递map参数给后端
向后端传递一个参数 /*** 前端ajax代码部分*/var map = '{"account":"' + account + '"}'; //设定一个事件触发 ...
- ajax传递多参数类型,Ajax传递不同类型的参数
1.目录结构: 1.传递普通的参数 2.传递对象 3.传递List 4.传递数组 1.1 前端页面 前端页面.png 1.2 HTML代码 注意:需要引入layui噢 button{ margin-t ...
- ajax get传递数组参数吗,ajax 传递数组参数
我的参数中有数组: 比如var req = { ids: [1, 2, 3]} ajax 写法必须把 req 进行字符串化,然后设置 contentType: "application/js ...
- ajax传递数组参数
var arr=new Array(); arr[0]='param'; arr[1]='param2'; $.ajax({url:请求地址,data:{params:arr},type:" ...
- ajax 传递数组参数
示例 var req = {ids: [1, 2, 3] } $.ajax({url: '/.../delete-by-ids',type: 'post',data: JSON.stringify(r ...
- 使用ajax发送数组请求,Ajax请求传递数组参数
var ids = []; var rows=$("#tt").datagrid("getSelections"); for(var i=0; i ids.pu ...
- ajax传递数组到后台时为空,ajax传递数组,后台接收为null解决方法
traditional:true,加上这个就好,默认为false,即允许深度序列化参数,但是servlet api不支持,所有设为true阻止就好了. $.ajax({ type:'post', ur ...
- ajax里数组添加数据,小笔记(一):ajax传递数组及将ajax返回数据赋值
当使用ajax传递数据时,有可能传递多个数据,这是使用以下方法传递数据就会显得数据过多且混杂 $.ajax({ type:'post', url:url, data:{data:data,conten ...
最新文章
- AI 模型性能上不去?这真的不怪我,ImageNet 等数据集每 100 个标签就错 3 个!...
- 用栈实现队列和用队列实现栈
- c语言编程运动会分数统计系统报告,独家稿件:定稿运动会分数统计系统设计报告_完整版...
- c语言管程例子,管程 - it610.com
- 吴恩达新书手稿完工,现在开放免费下载 | 资源
- 程序员的发展方向是什么?
- keras训练一个简单的模型
- typescript 爬坑速记
- 各代iphone尺寸_iPhone尺寸
- 10的28次方C语言,c语言编程测定28的28次方有多少位
- Android版添加phonegap--美洽客服插件教程
- [转帖]VBS 教程
- 大数据战略对企业生存有多重要?
- java oracle数据备份_Java实现Oracle数据库备份
- 金庸武侠内功排行榜TOP10
- 准备学python用什么电脑_超准《IQ测试》,在线《智商测试》
- windows下安装mingw-w64
- 【QT项目——视频播放器——解码】5.1decoder-5.10音频重采样
- 【C语言】之实现闰年判断
- 2020 年 6 月程序员工资统计,平均 14XXX 元,网友:又跌了!