使用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传递复杂参数相关推荐

  1. jquery 乱码 传参_jquery ajax传递中文参数乱码问题及解决方法说明

    jQuery传递中文参数乱码,原因是默认的传递方式没有采用UTF-8,所有我们可以在传递参数的时候对参数进行编码,然后再操作,代码如下,红色的代码为传递的参数,已标注 smsubmitclick = ...

  2. ajax传递map参数给后端

    向后端传递一个参数 /*** 前端ajax代码部分*/var map = '{"account":"' + account + '"}'; //设定一个事件触发 ...

  3. ajax传递多参数类型,Ajax传递不同类型的参数

    1.目录结构: 1.传递普通的参数 2.传递对象 3.传递List 4.传递数组 1.1 前端页面 前端页面.png 1.2 HTML代码 注意:需要引入layui噢 button{ margin-t ...

  4. ajax get传递数组参数吗,ajax 传递数组参数

    我的参数中有数组: 比如var req = { ids: [1, 2, 3]} ajax 写法必须把 req 进行字符串化,然后设置 contentType: "application/js ...

  5. ajax传递数组参数

    var arr=new Array(); arr[0]='param'; arr[1]='param2'; $.ajax({url:请求地址,data:{params:arr},type:" ...

  6. ajax 传递数组参数

    示例 var req = {ids: [1, 2, 3] } $.ajax({url: '/.../delete-by-ids',type: 'post',data: JSON.stringify(r ...

  7. 使用ajax发送数组请求,Ajax请求传递数组参数

    var ids = []; var rows=$("#tt").datagrid("getSelections"); for(var i=0; i ids.pu ...

  8. ajax传递数组到后台时为空,ajax传递数组,后台接收为null解决方法

    traditional:true,加上这个就好,默认为false,即允许深度序列化参数,但是servlet api不支持,所有设为true阻止就好了. $.ajax({ type:'post', ur ...

  9. ajax里数组添加数据,小笔记(一):ajax传递数组及将ajax返回数据赋值

    当使用ajax传递数据时,有可能传递多个数据,这是使用以下方法传递数据就会显得数据过多且混杂 $.ajax({ type:'post', url:url, data:{data:data,conten ...

最新文章

  1. AI 模型性能上不去?这真的不怪我,ImageNet 等数据集每 100 个标签就错 3 个!...
  2. 用栈实现队列和用队列实现栈
  3. c语言编程运动会分数统计系统报告,独家稿件:定稿运动会分数统计系统设计报告_完整版...
  4. c语言管程例子,管程 - it610.com
  5. 吴恩达新书手稿完工,现在开放免费下载 | 资源
  6. 程序员的发展方向是什么?
  7. keras训练一个简单的模型
  8. typescript 爬坑速记
  9. 各代iphone尺寸_iPhone尺寸
  10. 10的28次方C语言,c语言编程测定28的28次方有多少位
  11. Android版添加phonegap--美洽客服插件教程
  12. [转帖]VBS 教程
  13. 大数据战略对企业生存有多重要?
  14. java oracle数据备份_Java实现Oracle数据库备份
  15. 金庸武侠内功排行榜TOP10
  16. 准备学python用什么电脑_超准《IQ测试》,在线《智商测试》
  17. windows下安装mingw-w64
  18. 【QT项目——视频播放器——解码】5.1decoder-5.10音频重采样
  19. 【C语言】之实现闰年判断
  20. 2020 年 6 月程序员工资统计,平均 14XXX 元,网友:又跌了!

热门文章

  1. Python笔记总结(1)
  2. 版权之争,谁更棋高一着?
  3. PaperWeekly 第二十三期 --- 机器写诗
  4. 开源wkhtmltopdf使用心得 (一)
  5. 上市公司相关财务指标
  6. Ubuntu12.04安装jdk1.6.0
  7. 各品牌笔记本BIOS设置硬盘为兼容模式(IDE)方法
  8. 编程之美-2.6-精确表达浮点数
  9. WINDOWS SERVER 2003 之域重命名
  10. 初识用.NET Remoting来开发分布式应用 (转载)