【问题标题】:Send form.serialize with list object to the mvc controller将带有列表对象的 form.serialize 发送到 mvc 控制器
【发布时间】:2019-09-22 00:52:55
【问题描述】:

我需要使用 ajax 调用、一个表单和两个对象 jquery 列表发送到 mvc 控制器。 我尝试使用 form.serialize 但列表到达 null 并且如果我使用 JSON.stringify() 表单到达时参数为 null。

var datosAEnviar = { vm: $("formUnidadProgramacionDetalle").serializeArray(), listaEventosModificar: _listaEventosModificar, listaCheck: _listaChecks }
    var lista = JSON.stringify(datosAEnviar);

    $(".tooltip").tooltip('hide');
    $.ajax({
        contentType: 'application/json',
        dataType: 'html',
        type: 'POST',
        data: lista,
        url: "ListaTrabajo/ModificarPlanificaciones2",
        success: function (response) {

        },
        error: function (data, status) {
            return false;
        }
    });

    return;

控制器

public ActionResult ModificarPlanificaciones2(UnidadProgramacionViewModel vm, List<ListaEventosModificadosUProgramacion> listaEventosModificar, List<PlanificacionDatoAuxiliar> listaCheck) 
    {

        vm.DetalleViewModel.ModificarPlanificaciones(listaEventosModificar,  listaCheck);
        if (vm.DetalleViewModel.NotificacionesViewModel.HayNotificacionesError())
            return Json(vm.DetalleViewModel.NotificacionesViewModel.Notificaciones[0], JsonRequestBehavior.AllowGet);

        return PartialView("PlanificacionDetalle", vm); 
    }

【问题讨论】:

  • 你应该将你的控制器代码添加到问题中

标签: jquery json asp.net-mvc serialization


【解决方案1】:

试试这个,请检查你的网络标签

var formData = new FormData();
formData.append('vm',$("formUnidadProgramacionDetalle").serializeArray())
formData.append('listaEventosModificar',_listaEventosModificar)
formData.append('listaCheck',_listaChecks )


    $(".tooltip").tooltip('hide');
    $.ajax({
        contentType: 'application/json',
        dataType: 'html',
        type: 'POST',
        contentType: false,  
        processData: false,  
        data: formData ,
        url: "ListaTrabajo/ModificarPlanificaciones2",
        success: function (response) {

        },
        error: function (data, status) {
            return false;
        }
    });

    return;

【讨论】:

  • 不起作用,列表到达为空,并且作为视图模型的参数vm到达为空
  • 你检查过你的网络标签
猜你喜欢
  • 2014-10-31
  • 1970-01-01
  • 2019-06-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-26
  • 1970-01-01
  • 2019-09-29
相关资源
最近更新 更多