У меня есть информация, которую я отправил с помощью ajax jquery на сервер .net, но я не могу получить данные в качестве параметра (любого типа) и изменить их в памяти, а затем преобразовать в json. Я буду вам благодарен за вашу помощь.
JAVASCRIPT
document.querySelector('input#btnGuardar').onclick = function (e) {
e.preventDefault();
var data = $('form#form_boleta').serializeJSON();
$.ajax({
type: "post",
url: "/Comprobante/Factura",
data: data,
dataType: 'json',
contentType: 'application/json; charset=utf-8',
success: function (result) {
if (result === "success") {
swal({
title: "¿Generar Otro Comprobante?",
text: "¡El comprobante se ha generado de manera correcta!",
type: "success",
showCancelButton: true,
confirmButtonClass: 'btn-success',
confirmButtonText: 'Si',
cancelButtonText: "No",
closeOnConfirm: false,
closeOnCancel: false
},
function (isConfirm) {
if (isConfirm) {
self.parent.location.reload();
} else {
window.location.href = "/Plataforma/Dashboard";
}
});
}
else {
var mensaje_error = document.getElementById('MensajeError');
//$("#MensajeError").fadeTo(1000, 1);
//$("#MensajeError").fadeOut(5000);
//return false;
}
}
})
};
КОНТРОЛЛЕР MVC .NET
public JsonResult Factura(string[] json)//The json parameter appears as Null
{
string result;
if (json != null)
{
//Modify the data received json.
result = "success";
}
else
{
result = "error";
}
return Json(result, JsonRequestBehavior.AllowGet);
}



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Хорошо, сначала вы должны указать имя параметра, в который вы отправляете информацию в своем $ .ajax, и проанализировать объект "данные" в строку Json
$.ajax({
type: "post",
url: "/Comprobante/Factura",
data: {json: JSON.stringify(data)},//JSON.stringify parse a object o json string
dataType: 'json'
})
во-вторых, в вашем контроллере MVC изменяет тип параметра на строку и анализирует строковые данные до нужного вам типа.
public JsonResult Factura(string json)//The json parameter appears as Null
{
string result;
string[] data = JsonConvert.DeserializeObject<string[]>(json);
if (data != null)
{
//Modify the data received json.
result = "success";
}
else
{
result = "error";
}
return Json(result, JsonRequestBehavior.AllowGet);
}
Muchas gracias, "Невозможно десериализовать текущий объект JSON (например, {" name ":" value "}) в тип 'System.String []', поскольку для этого типа требуется массив JSON (например, [1,2,3]) для десериализации. правильно."