欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

ajax传递复杂参数

发布时间:2025/7/14 编程问答 50 豆豆
生活随笔 收集整理的这篇文章主要介绍了 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传递复杂参数的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。