• Empleos
  • Sobre nosotros
  • profesionales
    • Inicio
    • Empleos
    • Cursos y retos
  • empresas
    • Inicio
    • Publicar vacante
    • Nuestro proceso
    • Precios
    • Evaluaciones
    • Nómina
    • Blog
    • Comercial
    • Calculadora de salario

0

198
Vistas
No se pueden enviar datos desde el controlador de acción a AJAX Caller, serializando el modelo de contexto de una propiedad de proxy dinámico

Estoy tratando de enviar los datos consultados recopilados del contexto a la persona que llama ajax con el siguiente estado

1-El lado del servidor del código fuente tiene éxito al consultar los datos. 2-El lado del servidor del código fuente envía correctamente los datos en caso de que se use HTTPPOST o HTTPGET 3-No hay excepciones ni errores en el código fuente 4-la aplicación del método JSON (objeto consultado) no hace ningún cambio El escenario es el siguiente:- usando la llamada ajax de la siguiente manera

 $.ajax({ type: "POST", url: '@Url.Action("MainCatItems", "Cachier")', contentType: "application/json; charset=utf-8", data: datas, dataType: "json", success: successFunc, error: function (xhr) { alert('Error: ' + xhr.statusText); }, });

llamando a un controlador de acción

 [HttpPost] public ActionResult MainCatItems(int mainCatNo) { var results = ......//fetching data from Context return Json(new { data = results }, JsonRequestBehavior.AllowGet); }

, la llamada envía correctamente mis parámetros a la acción, pero enviar una respuesta a la llamada ajax desde el controlador es un poco confuso ya que tengo dos casos:

El primero: (funcionando perfectamente) Estoy devolviendo datos consultados desde una clase de tabla en mi Entity Framework ( Clase de registro de notificación )

 public partial class RegisterNotification { //setters and getters }

que es una sola clase sin propiedad de navegación declarada dentro

El segundo (donde está el problema). Estoy devolviendo datos consultados desde una clase de tabla en mi Entity Framework (Item Class"partial class")

Parte uno:-

 public *partial* class Item { // setters and getters }

La segunda parte:-

 public *partial* class Item { //setters and getters }

que es una clase parcial con propiedades de navegación declaradas dentro

Este caso no funciona y cuando vuelve a la llamada ajax, alerta el mensaje de función de error que dice "error interno del servidor 500". He intentado analizar los datos consultados en un objeto JSON en mi controlador: -

 var t = Json(res,"application/json; charset=utf-8",JsonRequestBehavior.AllowGet);

Datos consultados en el lado del servidor de código fuente

Detalles del mensaje de error del lado del cliente

Pero de nuevo con el fracaso. Gracias por preocuparte.

about 3 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

establezca ProxyCreationEnabled en false como este

 [HttpPost] public ActionResult MainCatItems(int mainCatNo) { entity.Configuration.ProxyCreationEnabled = false; var results = _model.Item.Where(x => x.MenuCategoryID == mainCatNo).ToList(); return Json(new { data = results }, JsonRequestBehavior.AllowGet); }

está utilizando un objeto proxy generado por el marco de la entidad que podría estar causando problemas en la serialización

about 3 years ago · Santiago Trujillo Denunciar

0

public JsonResult GetCatItems(int mainCatNo) { var results = ......//fetching data from Context return Json(new { data = results }, JsonRequestBehavior.AllowGet); }

Prueba esto... Podría ayudarte Y puedes llamar a este método desde un controlador de acción.

 $.ajax({ type: "POST", url: '@Url.Action("GetCatItems", "Cachier")', contentType: "application/json; charset=utf-8", data: datas, dataType: "json", success: successFunc, error: function (xhr) { alert('Error: ' + xhr.statusText); }, });
about 3 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Nuestro proceso Comercial
Legal
Términos y condiciones Política de privacidad
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recomiéndame algunas ofertas
Necesito ayuda