Saltar al contenido

Los datos de publicación de AJAX son null en el controlador mvc

Este equipo de redactores ha estado horas buscando para dar solución a tu duda, te ofrecemos la respuesta por eso nuestro deseo es resultarte de gran apoyo.

Solución:

No creo que puedas vincularte a un tipo dinámico de la forma en que lo intentas. Puede intentar crear una clase que mapee sus datos, algo como:

public class Content

    public string Name  get; set; 
    public string Value  get; set; 

Ahora en tu acción:

[HttpPost]
public ActionResult NewService(Content[] data)

    // sweet !

Y en su js como Olaf Dietsche dijo que necesita especificar su contentType:

var props = [
     "Name": "firstName", "Value": "firstValue" , 
     "Name": "secondName", "Value": "secondValue" 
];

$.ajax(
    url: '/Home/NewService',
    contentType: "application/json",
    async: true,
    type: "POST",
    data: JSON.stringify(props),
    error: function (jqXHR, textStatus, errorThrown) 
        console.log("FAIL: " + errorThrown);
    ,
    success: function (data, textStatus, jqXHR) 
        console.log("SUCCESS!");
    
);

De acuerdo a jQuery.ajax()el tipo de contenido predeterminado es application/x-www-form-urlencoded. Si desea enviar los datos como JSON, debe cambiar esto a

$.ajax(
    url: '/Home/NewService',
    contentType: 'application/json',
    ...
);

Agradecemos que desees patrocinar nuestra ocupación poniendo un comentario o valorándolo te damos las gracias.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *