MVC 4 и jQuery getJSON

Мне нужно реализовать какой-то живой поиск в проекте в университете. У меня есть следующий код: Действие MVC:

[Authorize]  
[AcceptVerbs(HttpVerbs.Get)]  
[InitializeSimpleMembership]
public JsonResult Search(string term)  
{  
    var data = ... // get matching item  
    return Json(data, JsonRequestBehavior.AllowGet);  
}  

Script в представлении:

$(document).ready(function() {  
    $("#searchText").keyup(function() {  
        $.getJSON('/Search/Search', { "term": $(this).val() },  function(result) {   
            alert(result);    
            $("#searchText").val(result.d);  
        });  
    });  
});

Вызывается действие контроллера и возвращает соответствующие объекты, но функция javascript никогда не вызывается, нет окна предупреждения, ничего. Что можно сделать, чтобы сделать эту работу?

Ответ 1

Может возникнуть проблема с сериализацией данных JSON. Это может случиться, если вы пытаетесь напрямую сериализовать свои модели доменов EF, которые могут содержать циклические ссылки,... Правильный подход, конечно, использовать модели просмотра.

Чтобы отслеживать проблему, используйте FireBug и посмотрите вкладку Network, чтобы увидеть точный запрос/ответ AJAX вызов. Там вы сможете увидеть ответ, возвращенный сервером, который будет содержать сообщение об ошибке.