如何通过ajax传递包含数据和文件的对象数组并在mvc控制器中检索?

时间:2016-06-19 04:09:25

标签: javascript c# jquery ajax asp.net-mvc

我有一个像下面这样的对象数组。

var array=[
{
    Name:"name",
    Address:"address",
    Files://array of files
},
{
    Name:"name",
    Address:"address",
    Files://array of files
}
];

我需要通过ajax传递数组并在mvc控制器上检索它。我没有同时获得控制器中数组的数据和文件。

我在单个对象的情况下使用了formData。但是在数组的情况下我不知道如何。任何人请帮助

我的代码.. 模型..

public class DataModel{
   public string Name{get;set;},
   public string Address{get;set;},
   public HttpPostedFileBase[] Files{get;set;}
}

控制器..

    [HttpPost]
    public JsonResult AddData(List<DataModel> data)
    {

       //code          
    }

AJAX //

$.ajax({
                    type: "POST",
                    url: '/Mydata/AddData',
                    data: {data:array},
                    contentType: false,
                    processData: false,
                    dataType: "json",
                    success: function (json) {
                      //some function
                    }
});

1 个答案:

答案 0 :(得分:0)

您可以通过对数组进行字符串化来传递数组,并将其传递给attribute的数据ajax

var _myArray=JSON.stringify(array),
        $.ajax({
                //Rest of the code
                data: _myArray,
            });