Как вернуть модель в вызов ajax в MVC 5 - PullRequest
0 голосов
/ 30 сентября 2019

Моя цель - ограничить некоторые входные данные данными из другой таблицы, поэтому я пытаюсь сделать это с помощью вызова ajax.

Это контроллер:

[HttpPost]
    public JsonResult getProductbyId(string data)
    {
        int id = Convert.ToInt32(data);
        tblProducto producto = db.tblProducto.Where(p => p.Id == id).SingleOrDefault();

        return Json(producto);
    }

Это вызов ajax

    var id_producto = $('#id_producto option:selected').val();
$.ajax({
    url: '/Ventas/getProductbyId',
    type: 'post',
    data: { data:id_producto },
    success: function (data) {
        alert(data.cantidad);
    },
    error: function (data) {
        alert('La llamada (ajax)getProductbyId ha fallado');
    }
});

Но я получаю предупреждение об ошибке.

1 Ответ

1 голос
/ 30 сентября 2019

Попробуйте: измените формат возврата в контроллере

В Contoller:

[HttpPost]
public JsonResult getProductbyId(string data)
{
    int id = Convert.ToInt32(data);
    tblProducto producto = db.tblProducto.Where(p => p.Id == id).SingleOrDefault();
    return Json(producto, JsonRequestBehavior.AllowGet);
}

В Jquery (вызов ajax):

var id_producto = $('#id_producto option:selected').val();
$.ajax({
       url: '/Ventas/getProductbyId',
       type: 'post',
       dataType: "JSON",
       data: { data:id_producto },
       processData: false,
       contentType: false,
       success: function (data) {
           alert(data);
       },
       error: function (data) {
           alert('La llamada (ajax)getProductbyId ha fallado');
       }
       });
...