时间:2021-05-26
在使用MVC时,向服务器端发送POST请求时有时需要传递数组作为参数值
下面使用例子说明,首先看一下Action
[HttpPost]public ActionResult Test(List<string> model){ return Json(null, JsonRequestBehavior.AllowGet);}方式一,构造表单元素,然后调用serialize()方法得到构造参数字符串
@{ Layout = null;}<!DOCTYPE html><html><head> <meta name="viewport" content="width=device-width" /> <title>Test</title></head><body> <div> <input type="button" id="btnAjax" value="发送请求" /> </div> <script src="~/Scripts/jquery-1.10.2.min.js"></script> <script type="text/javascript"> var tmp = '<input type="hidden" name="model" value="1" /><input type="hidden" name="model" value="2" />'; $(function () { $("#btnAjax").click(function () { $.ajax({ url: '@Url.Action("Test")', type: 'POST', data: $(tmp).serialize(), success: function (json) { console.log(json); } }); }); }); </script></body></html>调试模式监视参数,当点击按钮时,监视得到的参数如下
方式二:使用JavaScript对象作为参数传值,参数名是与Action方法对应的参数名,参数值是JavaScript数组
@{ Layout = null;}<!DOCTYPE html><html><head> <meta name="viewport" content="width=device-width" /> <title>Test</title></head><body> <div> <input type="button" id="btnAjax" value="发送请求" /> </div> <script src="~/Scripts/jquery-1.10.2.min.js"></script> <script type="text/javascript"> //var tmp = '<input type="hidden" name="model" value="1" /><input type="hidden" name="model" value="2" />'; var array = ["abc","123"]; $(function () { $("#btnAjax").click(function () { $.ajax({ url: '@Url.Action("Test")', type: 'POST', data: { model:array }, success: function (json) { console.log(json); } }); }); }); </script></body></html>方式三,使用Json作为参数请求,此时Ajax需要声明Content-Type为application/json
@{ Layout = null;}<!DOCTYPE html><html><head> <meta name="viewport" content="width=device-width" /> <title>Test</title></head><body> <div> <input type="button" id="btnAjax" value="发送请求" /> </div> <script src="~/Scripts/jquery-1.10.2.min.js"></script> <script type="text/javascript"> //var tmp = '<input type="hidden" name="model" value="1" /><input type="hidden" name="model" value="2" />'; //var array = ["abc","123"]; $(function () { $("#btnAjax").click(function () { $.ajax({ url: '@Url.Action("Test")', type: 'POST', contentType:'application/json;charset=utf-8', data: JSON.stringify({ model:["hello","welcome"] }), success: function (json) { console.log(json); } }); }); }); </script></body></html>上面的例子使用的是ASP.NET MVC 5
总结
以上所述是小编给大家介绍的jQuery Ajax向服务端传递数组参数值的实例代码,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回家大家的!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
想到在asp.net的mvc中如果使用ajax向服务端传递参数时如果参数是一个类或者是个数组(或List集合)以及更复杂的对象时,服务端总是会发生取不到值的情况
ASP.NETMVC传送参数至服务端ASP.NETMVC传送参数至服务端,前端与服务端的写法,你可以参考与采用适合你的需求的。当你只传递一两个参数也许觉得没有什
jquery把数组变为字符串然后在传到服务端(jquery把数组转换成字符串后,格式如1,2,3,速度,rewr)复制代码代码如下:define(functio
之前用AJax给Controller传递参数,然后再调用服务端的方法对数据库进行更改,今天碰到一个新的方法,就是表单的提交,这样可以省去AJax传参。当表单提交
在jquery中使用get,post和ajax方法给服务器端传递数据,在上篇文章给大家分享了jquery中ajax-post()方法实例,下面通过本文继续学习j