Jquery 将复杂数组从客户端(Javascript)发送到服务器端(ASP.NET MVC2)
我有一个控制器:Jquery 将复杂数组从客户端(Javascript)发送到服务器端(ASP.NET MVC2),jquery,asp.net-mvc,arrays,Jquery,Asp.net Mvc,Arrays,我有一个控制器: public HomeController : Controller { public ActionResult(MyObj[] myObjArr) { } } public class MyObj { public Datetime d {get;set;} public int x{get;set;} public string yy {get;set;} } 我的javascript代码如下所示: var obj = { d:new Dat
public HomeController : Controller
{
public ActionResult(MyObj[] myObjArr)
{
}
}
public class MyObj
{
public Datetime d {get;set;}
public int x{get;set;}
public string yy {get;set;}
}
我的javascript代码如下所示:
var obj = { d:new Date(), x : 10, yy : 'hello' };
$.ajax({
type: "POST",
url: server,
dataType:"json",
data: {obj,obj},
success: function(data) {
alert(data);
}
});
这根本不起作用,我试过:
$.JSON({obj,obj});
JSON.stringify({obj,obj});
关于数据,但什么都没有。
我可能尝试过的每一种可能的组合,但在服务器端myobjar只是保持为null,我尝试了许多walkthrowts,我将[]替换为List、ICollection等
有什么建议吗?
谢谢。这对我来说似乎很好
public HomeController : Controller
{
public ActionResult(MyObj[] myObjArr)
{
}
}
public class MyObj
{
public Datetime d {get;set;}
public int x{get;set;}
public string yy {get;set;}
}
JS:
函数makeParams(arr,名称空间){
var tempObj={};
对于(变量i=0;i
数据:{obj,obj}
这不是有效的JavaScript。您肯定会在控制台中看到SyntaxError
。arr=[];方位推力(obj);方位推力(obj);你一定明白了。
function makeParams(arr, namespace) {
var tempObj = {};
for (var i = 0; i < arr.length; i++) {
var o = arr[i];
for (var k in o) {
tempObj[namespace + "[" + i + "]." + k] = o[k];
}
}
return tempObj;
}
var arr = [{ d:new Date(), x : 10, yy : 'hello' }];
var namespace = "myObjArr";
var data = makeParams(arr, namespace); //eg. { 'myObjArr[0].x': 10 }
$.ajax({
type: "POST",
url: server,
dataType:"json",
data: data,
success: function(data) {
alert(data);
}
});