Невозможно передать строковый массив из ajax в метод контроллера действий. Я получаю нулевой массив объектов в методе действия
У меня есть данные, которые являются строкой массива, я пытаюсь передать данные в контроллер MVC. Но я не могу получить данные, вместо данных я получаю object array null.
Что я уже пробовал:
var exportDataToCsv = function () { var array = []; var headers = []; $('#ButtlistTable th').each(function (index, item) { headers[index] = $(item).html(); }); $('#SearchButtlistTable tr').has('td').each(function () { var arrayItem = {}; $('td', $(this)).each(function (index, item) { arrayItem[headers[index]] = $(item).html(); }); array.push(arrayItem); }); //var ExportedData = JSON.stringify(array); $.ajax({ type: "POST", url: "/Buttlists/ExportDataToCsv", data: JSON.stringify({'ExportedData': array }), contentType: 'application/json; charset=utf-8', dataType: "json", success: function (data) { console.log(data); } }); }
Контроллер:
public ActionResult ExportDataToCsv(string[] ExportedData) { var array = ExportedData; }
Afzaal Ahmad Zeeshan
Как вы здесь прокладываете маршруты?
Member 9956700
Я использую маршрутизацию по умолчанию.
public static void RegisterRoutes(RouteCollection routes)
{
маршруты.IgnoreRoute("{resource}.axd/{*pathInfo}");
маршруты.MapRoute(
имя default",
url: "{controller}/{action}/{id}",
по умолчанию: новый { контроллера = "Главная", действие = "индекс", элемент ID = UrlParameter.Необязательный }
);
}
Kornfeld Eliyahu Peter
Может быть, вы посылаете не строковый массив, а объектный массив?
Member 9956700
Я пробовал и с тем, и с другим, но в контроллере я всегда получаю null массива или объектов.
Пример: я-3 значения. a[0] = "Яблоко a[1] = фрукт и a[2] = США.. в методе действия я всегда получаю a[0] = null a[1] = null a[2] = null.