我必须在大学的项目中实施某种实时搜索。我有以下代码: MVC行动:
[Authorize]
[AcceptVerbs(HttpVerbs.Get)]
[InitializeSimpleMembership]
public JsonResult Search(string term)
{
var data = ... // get matching item
return Json(data, JsonRequestBehavior.AllowGet);
}
视图中的脚本:
$(document).ready(function() {
$("#searchText").keyup(function() {
$.getJSON('/Search/Search', { "term": $(this).val() }, function(result) {
alert(result);
$("#searchText").val(result.d);
});
});
});
调用控制器操作并返回匹配的对象,但是从不调用javascript函数,没有警报框,什么也没有。有什么办法可以使这项工作?
答案 0 :(得分:3)
您的数据的JSON序列化可能存在问题。如果您尝试直接序列化可能包含循环引用的EF域模型,则通常会发生这种情况......当然,正确的方法是使用视图模型。
为了跟踪问题,请使用FireBug
并查看Network
标签,以查看AJAX调用的确切请求/响应。在那里,您将能够看到服务器返回的响应,其中包含错误消息。