Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 将复杂数组从客户端(Javascript)发送到服务器端(ASP.NET MVC2)_Jquery_Asp.net Mvc_Arrays - Fatal编程技术网

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);
            }
        });