在项目上用到了批量删除与批量更改状态,前台使用了EasyUI的DataGrid,用到了批量更改数据状态功能。javascript

在前台能够获取每条数据的ID,可是如何经过数组方式传递给后台?java

经过昨晚的各类方式的调试,终于得出了答案! 在此做为备忘。jquery

目前有两种方式可行:ajax

方式一json

前台代码:数组

// 方式一

var _list = {};

for (var i = 0; i

_list["selectedIDs[" + i + "]"] = checkedRow[i].ID;

}

$.ajax({

url: '@Url.Action("SetCallBackStatus")',

//data: { "selectedIDs": _list },

data: _list,

dataType: "json",

type: "POST",

//traditional: true,

success: function (responseJSON) {

// your logic

alert('Ok');

}

});

注意:app

一、_list 是一个对象oop

二、_list中的属性须要结合后台参数名称,例如”selectedIDs“,组合成相似:selectedIDs[0],selectedIDs[1]...等Request.Paramsthis

这里是最重要的,不然后台认不出来。这种方式也能够传递自定义类的数组。组合方式就是selectedIDs[0].FirstName,selectedIDs[0].LastName,selectedIDs[1].FirstName,selectedIDs[1].LastName...url

三、ajax的data参数直接指定为_list

后台代码:

public ActionResult SetCallBackStatus(List selectedIDs)

{

string result = "ok";

string errMsg = "";

return this.JsonFormat(new { result = result, errMsg = errMsg });

}

方式二

前台代码:

var _list = [];

for (var i = 0; i

_list[i] = checkedRow[i].ID;

}

$.ajax({

url: '@Url.Action("SetCallBackStatus")',

data: { "selectedIDs": _list },

//data: _list,

dataType: "json",

type: "POST",

traditional: true,

success: function (responseJSON) {

// your logic

alert('Ok');

}

});

注意:

一、_list 是一个数组。

二、ajax参数中data为{“selectedIDs”:_list}

三、这种方式比较重要的 traditional:true。或者将二、中的 _list参数转换一下$.param(_list,true)。这里其实就是将_list做为传统的方式传递给后台。Jquery默认是作了转换的。听说是为了使用PHP。。。。后台语言而作的。其实也就是自动在参数后面追加了”[]“。

后台代码:

同方式一

针对自定义的类,也能够经过方式一jquery ajax传递给后台

例如:

// 自定义Person类

public class Person

{

public string FirstName { get; set; }

public string LastName { get; set; }

}

// 后台Action

public ActionResult SetCallBackStatus(List selectedIDs)

{

string result = "ok";

string errMsg = "";

return this.JsonFormat(new { result = result, errMsg = errMsg });

}

此时前台js能够这样写:

var _list = {};

for (var i = 0; i

_list["selectedIDs[" + i + "].FirstName"] = checkedRow[i].FirstName;

_list["selectedIDs[" + i + "].LastName"] = checkedRow[i].LastName;

}

$.ajax({

url: '@Url.Action("SetCallBackStatus")',

//data: { "selectedIDs": _list },

data: _list,

dataType: "json",

type: "POST",

//traditional: true,

success: function (responseJSON) {

// your logic

alert('Ok');

}

});

ajax怎么传递list类型参数到后端,ajax传递给后台数组参数方式相关推荐

  1. ajax 入参为list_ajax传递给后台数组参数方式

    出自:http://blog.csdn.net/lingxyd_0/article/details/10428785 在项目上用到了批量删除与批量更改状态,前台使用了EasyUI的DataGrid,用 ...

  2. .net前台ajax,asp.net利用Ajax和Jquery在前台向后台传参数并返回值

    1----------前台 首先需要 Jquer的包 下面是 $(function () { $('#txtUserName').blur(function () { var username = $ ...

  3. ajax bootstrap 进度条,Bootstrap进度条与AJAX后端数据传递结合使用实例详解

    很多时候,我们执行页面上某个URL请求的时候,需要有等待的时间.如果是直接的页面跳转,浏览器会有缓冲进度展示,但是如果是AJAX,我觉得应该自己加上进度条,等待数据全部接收到之后,进度条消失,展示页面 ...

  4. Java中的Listener监听器与Ajax技术和Axios异步框架以及JSON传递接收数据

    Listener监听器与Ajax Listener 概念 Listener 表示监听器,是 JavaWeb 三大组件(Servlet.Filter.Listener)之一. 监听器可以监听就是在 ap ...

  5. 利用Nginx轻松实现Ajax的跨域请求(前后端分离开发调试必备神技)

    利用Nginx轻松实现浏览器中Ajax的跨域请求(前后端分离开发调试必备神技) 前言 为什么会出现跨域? 造成跨域问题的原因是因为浏览器受到同源策略的限制,也就是说js只能访问和操作自己域下的资源,不 ...

  6. 用ajax向后台传递数组参数

    遇到的一个ajax参数提交问题,记录一下解决方法: 当需要传递数组参数到后台时,需要设置属性 traditional:true. 就贴张图吧,懒得码字了...... 转载于:https://www.c ...

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

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

  8. ajax传递数组参数

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

  9. # Ajax提交Form表单以及后端取值(java)

    Ajax提交Form表单以及后端取值(java) 1.ajax提交form表单:提交的按钮οnclick="denglu()"时候触发ajax方法 <script>fu ...

  10. ajax如何传递josn数据,jq之ajax以及json数据传递

    闭包演示 function transfer(){ var dat = $( "#sel" ).val(); //console.log(dat) $.ajax({ type:&q ...

最新文章

  1. 利用wget 抓取 网站网页 包括css背景图片
  2. outlook 单独安装_民强村排烟管道安装公司
  3. 一个传值的问题”*”与”*”
  4. qt5 窗体显示完毕信号_iPhone手机信号不好?试试这样设置,随时随地让你的手机信号满格...
  5. 【README1】动态规划之解题思路
  6. 通过Shell脚本快速搭建高效Rsync服务
  7. DBUtils 学习使用
  8. python变量赋值给数组_python 变量,数组,字符串
  9. 关于Centos Linux系统安装Python的问题
  10. 正则化、岭回归与LASSO回归(套索回归)
  11. 一眼把人看穿之社交方式 如何辨别朋友的信任度
  12. macOS和Linux系统中的虚拟网卡(xFsRedir虚拟局域网功能扩展之其他平台的实现)
  13. 推荐一个好用的论文助手工具
  14. Cannot currently show the desktop
  15. PCB四层板设计步骤
  16. 加一度分享:快手PK抖音,谁更有优势
  17. 动态海报,一次 Computational Design 实验
  18. 计算机智能未来发展趋势,在未来,人工智能的几个发展方向或趋势!
  19. “墨子”升空 首席科学家谈中国量子通信技术
  20. 泛函分析笔记03:完备距离空间及其应用

热门文章

  1. 二代证|港澳台居民居住证|电子护照阅读器 读卡器MEPR200+的应用与二次开发攻略
  2. python画彩虹代码_python绘制彩虹图
  3. 中风后下肢麻木瘀阻案
  4. Android异常篇 Cannot access com.***...***.class
  5. linux 755是什么意思
  6. 箱形图(python画箱线图)
  7. java package number_Java NumberPath.loe方法代码示例
  8. android 推送图标大小,设计方法论:一种统一图标大小的方法
  9. 《惢客创业日记》2021.07.15-17(周四)房东和租客,谁更弱势?
  10. 台式电脑点关闭计算机关不了,台式电脑关机关不了怎么办