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,
                areaIds: areaIds
            };
            var url = "@Url.Action("LoadStoreHousesByAreaIds", "CommonAjax")";
            $.post(url, data, function(result) {
                $("#StoreHouseIds").data("kendoMultiSelect").setDataSource(result);
                $("#StoreHouseIds").data("kendoMultiSelect").enable(true);
                if (selectedValues!=null) {
                    $("#StoreHouseIds").data("kendoMultiSelect").value(selectedValues);
                }
            });
        };

action

 [HttpPost]
        public ActionResult LoadStoreHousesByAreaIds(LoadStoreHousesByAreaIdsRequest request)
        {
            List<StoreHouse> storeHousesList;
            if (request.AreaIds.Any())
            {
                storeHousesList = _commonService.GetEquipmentStoreHouses(request.AreaIds);
            }
            else
            {
                request.AreaIds = _commonService.ConvertToLeafChildAreas(new List<int>{ request.MarketId}).Select(m=>m.Id).ToList();
                storeHousesList = _commonService.GetEquipmentStoreHouses(request.AreaIds);
            }
            var storeHouses = storeHousesList.Select(x => new SelectListItem
            {
                Value = x.Id.ToString(),
                Text = x.Name
            }).ToList();

            return Json(storeHouses, JsonRequestBehavior.AllowGet);
        }

原文地址:https://www.cnblogs.com/taoshengyujiu/p/10347407.html

时间: 2024-10-24 16:15:13

mvc jquery ajax传递数组null问题的相关文章

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

jQuery $.ajax传递数组的traditional参数传递必须true

出自:http://blog.csdn.net/ojackhao/article/details/24580437 起初我认为traditional:true,可有可无,但是后来不用traditional的时候,发现后台无法获取selectUsers的值,那么可以肯定的是traditional默认值是false.当提交的参数是数组( {selectUsers:[value,value,value]} ),如果是false的话,则提交时会是"selectUsers[]=value&sele

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(&

Spring 接收转换 jquery ajax json数组字符串

1.ajax发送json字符串 </pre><p>组建对象</p><p></p><pre code_snippet_id="449843" snippet_file_name="blog_20140813_2_7927326" name="code" class="javascript">var student = new Object(); studen

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

jQuery ajax传递特殊字符串问题

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

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

1.js对象创建:因为需要把对象json序列化后,才能传递到后台,后台根据json字符串进行反序列化. 2.Jquery   $.ajax方法的配置 针对$.ajax方法的配置参数需要进行修改: 1)dataType: "json", traditional:true:数据类型必须是json.默认的话,traditional为false,即jquery会深度序列化参数对象.但servelt api无法处理,我们可以通过设置traditional 为true阻止深度序列化 2)这个是重点

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

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

前端AJAX传递数组给Springmvc接收处理

前端传递数组后端(Spring)来接收并处理: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>测试页面</title> <script type="text/javascript" src="http://www.ostools.net/js/jquery/jquery-1.7.2.js">