Estoy trabajando en una aplicación MVC 3 con motor ASPX y como punto de partida desarrollé una búsqueda simple que utiliza una llamada JQuery JSON para recuperar algo de información. La llamada envía un parámetro tomado de una entrada de texto y actualiza una tabla con los resultados. La mirada del funcion de esta manera:llamada MVC 3 JSON no funciona en IIS
function PerformLookup() {
var _accountNumber = $('#accountNumber').val();
$.ajax({
url: '/SearchAjax/SearchAccount',
type: 'POST',
data: '{_accountNumber:'+_accountNumber+'}',
dataType: 'json',
contentType: 'application/json; charset=utf-8',
success: function (data) {
UpdateTable(data);
},
error: function() {
alert('An error occurred while performing the search.');
}
});
return false;
}
el código del servidor ejecuta una consulta con ese parámetro y devuelve una lista que se serializado a JSON para ser trabajado con normalidad con jQuery. El código del servidor tiene el siguiente aspecto:
[HttpPost]
public JsonResult SearchAccount(string _accountNumber)
{
MLIBEntities dbMLIB = new MLIBEntities();
var searchResults = (from s in dbMLIB.Sets
where s.setmap1 == _accountNumber
select s);
return Json(searchResults.ToList());
}
Como se puede ver que no es nada difícil y funciona perfectamente cuando corro el proyecto de VS2010 y el uso de su máquina virtual.
El problema ocurre cuando publico el proyecto en un servidor de Windows 2008 con IIS 7. El proyecto se ejecuta normalmente pero cuando ejecuto la función PerformLookup aparece el mensaje "Ocurrió un error al realizar la búsqueda", lo que significa que la llamada ajax ha fallado.
¿Alguien tiene alguna idea de por qué la llamada está fallando en el IIS mientras funciona perfectamente en la máquina virtual VS2010? ¿Me falta alguna configuración de IIS?
¡Gracias de antemano!
¿Usted intentó herramientas usnig como violinista/HttpWatch/Firebug para comprobar cuál es el contenido de la respuesta de llamada AJAX. Puede que tenga alguna información relevante que pueda ayudar a depurar aún más. –