Member 7969814 Ответов: 1

Как отправить список нескольких массивов в ajax postback в mvc5


В методе ajax я могу отправить несколько массивов деталей

Моя проблема в том, что я хочу отправить более одного списка details1, details2, details3,

Но в Аяксе я должен объединить все в одном (data: JSON.stringify(DetailsAll),)

Что я уже пробовал:

$.ajax({
    type: "POST",
    url: "/Emp/MasterDetails",
    data: JSON.stringify(Details),
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    traditional: true,
    success: function (data) {
        alert(data.massge + " record(s) inserted.");
    }
});

F-ES Sitecore

Вы можете отправлять все, что хотите, если метод получения настроен на прием данных в том формате, в котором вы их отправляете.

Member 7969814

я хочу послать вот так
сведения: в формате JSON.преобразовать в строки(реквизиты),в формате JSON.преобразовать в строки(Details2),в формате JSON.преобразовать в строки(Details3),
но это не работает, вы знаете, что это правильный путь.

1 Ответов

Рейтинг:
11

Abhishek Duppati

Да! вы можете отправлять разнообразные данные.

Мы можем инкапсулировать данные следующим образом:

$.ajax({
    type: "POST",
    url: "/Emp/MasterDetails",
    data: {'first_array':JSON.stringify(details1),
           'second_array':JSON.stringify(details2),
           'third_array':JSON.stringify(details3)},
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    traditional: true,
    success: function (data) {
        alert(data.massge + " record(s) inserted.");
    }
});

Ваши first_array, second_array и third_array должны быть "массивами" на приемном конце. Если нет, то вы можете превратить его в массив.

Например:
$("#btnAjax").click(function() {
    var array1 = new Array();                
    $(".checkBoxList1:checked").each(function() {
         array1.push($(this).val());
     });
    var array2 = new Array();
    $(".checkBoxList2:checked").each(function() {
         array2.push($(this).val());
     });
var array3 = new Array();
    $(".checkBoxList3:checked").each(function() {
         array3.push($(this).val());
     });

    var Details = '{"first_array":["' + array1.join('","') + '"],"second_array":]"' + array2.join('","') + '"],"third_array":["' + array3.join('","') + '"]}';

//Вы можете просто использовать эти "детали" с такими данными, как это,
$.ajax({
    type: "POST",
    url: "/Emp/MasterDetails",
    data: Details,
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    traditional: true,
    success: function (data) {
        alert(data.massge + " record(s) inserted.");
    }
  });
}