使用JS传递数组型数据回服务器
2024-10-18 21:28:32
//为数组添加一个方法,判断某个值是否存在于数组中
Array.prototype.in_array = function (e) {
for (i = 0; i < this.length && this[i] != e; i++);
return !(i == this.length);
}
var array = new Array(); //数组中的Item
var arr = {
//"RFQID": $("#ID").val(),
"RFQID": $(this).attr("rfqid"),
"SiteCode": $(this).attr("site"),
"ProcessID": $(this).attr("processid"),
"ForecastLoading": $(this).val(),
"SimulateNumber": 2,
"MainRFQID": $("#ID").val()
} array .push(arr); //将Item塞入数组
$.ajax({
type: "Post",
processData: false,
contentType: 'application/json; charset=UTF-8',
url: "/ReportSimulation/UpdateProcessForecastLoading",
data: { list: arrObj },
beforeSend: function (xhr, setting) {
setting.data = JSON.stringify(setting.data);//转为Json
},
success: function (r) {
if (r.Success) {
alert("Success");
} else {
alert("Error");
}
}
});
服务器接收:
public ActionResult UpdateProcessForecastLoading(List<ForecastProcessLoadingVM> list)
ForecastProcessLoadingVM 申明:
public class ForecastProcessLoadingVM
{
public Guid RFQID { get; set; }
public string SiteCode { get; set; }
public Guid ProcessID { get; set; }
public string ProcessName { get; set; }
public double? ForecastLoading { get; set; }
public int SimulateNumber { get; set; }
public Guid MainRFQID { get; set; }
}
JQGrid中,直接将grid getRowData就可以传回了:
var gridData = $gridCAPEX.getRowData();
//var postData = JSON.stringify(gridData);
//alert("JSON serialized jqGrid data:\n" + postData); var data = {
ID: $("#ID").val(),
NeedNewCAPEX: $("#NeedNewCAPEX").val(),
CAPEXVMList: gridData
}; $.ajax({
type: "Post",
processData: false,
contentType: 'application/json; charset=UTF-8',
url: "/BDFormPage/SaveCAPEX",
data: data,
beforeSend: function (xhr, setting) {
setting.data = JSON.stringify(setting.data);
},
success: function (r) {
if (r.Success) {
alert("Success");
} else {
alert("Error");
}
}
});
注意:getRowData取的是innerHtml,针对Select类型的选项,一定要将其格式也设置为Select,否则会传回Text,不传回Value
{
label: "Category", name: "Category", index: "Category", hidden: false, editable: true,
editrules: { required: true },
edittype: "select", formatter: "select", editoptions: {
value: { 1: "New", 2: "Existing" }
}
},
加上
formatter: "select",getRowData取出的是1 2,否则取出的是New Existing
最新文章
- Google云平台对于2014世界杯半决赛的预测,德国阿根廷胜!
- 空间不支持openssl解决办法
- 组合数学 - 母函数的运用 --- hdu 1709 :The Balance
- codeforces 474D.Flowers 解题报告
- Google Map API 学习三
- 跨站脚本攻击(Cross‐Site Scripting (XSS))
- ajax 轮询 和 php长连接
- spring装配Bean过程
- Discuz利用UC_KEY进行前台getshell
- Node.js Query Strings
- 四、Snapman多人协作电子表格之——Exprtk脚本
- css常用命名
- idea部署Maven入门(一)——环境变量的配置和下载
- 【Shell循环进程并行处理】利用简单的语句实现for循环并行处理命令
- Scrum 敏捷开发
- 测试开发之前端——No2.HTML5中的标签
- linux 系统管理的10个小技巧
- CF 1023D Array Restoration - 线段树
- 51 Nod 1107 斜率小于0的连线数量 (转换为归并求逆序数或者直接树状数组,超级详细题解!!!)
- HTML和JS自解码机制