La llamada ajax no llega al punto de interrupción pero sigue funcionando correctamente

Tengo esta llamada ajax. Esta es la primera vez que estoy experimentando este problema. Primero, el punto de quiebre en mi acción no está siendo golpeado. En segundo lugar, la función de éxito se está ejecutando. Tercero, el valor de mi storeList / data es el código completo del contenido de todo el cuerpo. Esto podría deberse a que mi acción no se encuentre.

$.ajax({ type: 'POST', url: '/reports/GetStoreFranchiseList?franchiseId=' + franchiseId, success: function (storeList) { console.log(storeList); var appendStr = "
  • All
  • "; // $.each(storeList, function (k, v) { // console.log(v); // appendStr += "
  • " + v.StoreName + "
  • "; // }); console.log(appendStr); $(".rptStoreDdl").html(appendStr); $("#rptStoreDdlDv").removeClass().addClass("btn-group"); } });

    Cuando bash descomentar las funciones de cada uno, Uncaught TypeError: Cannot use 'in' operator to search for '21748' in # este error: Error no Uncaught TypeError: Cannot use 'in' operator to search for '21748' in #

    Obviamente porque los datos están equivocados. ¿Alguna idea chicos? ¡Gracias!

    EDITAR:

    Intenté acceder a través de fiddler y /Error/NotFound?aspxerrorpath=/reports/GetStoreFranchiseList esto: /Error/NotFound?aspxerrorpath=/reports/GetStoreFranchiseList

    Esto desencadena el error de mi cliente por no encontrado. Realmente no estoy seguro de por qué no se encuentra mi acción.

    Acción del controlador:

     [InPrivate] public class ReportsController : Controller { [HttpGet] public JsonResult GetStoreFranchiseList(string franchiseId) { var data = new List(); if(WebUser.Franchisees != null && WebUser.Franchisees.Count() > 0) { data = WebUser.Franchisees.FirstOrDefault(a => a.Id == franchiseId).Stores; } return Json(data, JsonRequestBehavior.AllowGet); } } 

    Es más que probable que se levante una excepción silenciosa. También encontré este mismo problema exacto. Vale la pena señalar que, no todas las excepciones provocarán un error en el tiempo de ejecución, desde el navegador / cliente puede parecer que se ha devuelto un tipo de retorno válido. En mi caso, pude usar la función Intellitrace de Visual Studio para detectar la siguiente excepción silenciosa:

    “La solicitud JSON era demasiado grande para ser deserializada”

    Eso me dio las pistas que necesitaba para solucionar el problema a través de esta otra respuesta de desbordamiento de stack

    Sugiero intentar usar la versión definitiva de Visual Studio que viene con Intellitrace para ver si alguna excepción similar está interfiriendo con el código del lado del servidor y, en última instancia, engañar al cliente para que piense que se devolvió una respuesta válida.

    La mejor de las suertes

    Intenta especificar la url de esta manera:

     url: '../Reports/GetStoreFranchiseList?franchiseId=' + franchiseId, 

    O

     url: '@Url.Action("GetStoreFranchiseList","Reports")' + '?franchiseId=' + franchiseId,