【问题标题】:MVC 4 and jQuery getJSONMVC 4 和 jQuery getJSON
【发布时间】:2015-11-15 17:05:30
【问题描述】:

我必须在大学的一个项目中实施某种实时搜索。我有以下代码: 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函数从未被调用,没有警告框,什么都没有。可以做些什么来完成这项工作?

【问题讨论】:

  • 检查控制台是否有错误,因为您发布的代码没有任何特别错误。

标签: jquery asp.net-mvc-4 getjson


【解决方案1】:

您的数据的 JSON 序列化可能存在问题。如果您尝试直接序列化可能包含循环引用的 EF 域模型,则通常会发生这种情况……正确的方法当然是使用视图模型。

为了跟踪问题,请使用FireBug 并查看Network 选项卡以查看AJAX 调用的确切请求/响应。在那里您将能够看到服务器返回的响应,其中将包含错误消息。

【讨论】:

  • 非常感谢,序列化是问题所在。使用 FireBug 是关键。
猜你喜欢
  • 2013-05-03
  • 1970-01-01
  • 2013-06-14
  • 1970-01-01
  • 1970-01-01
  • 2017-08-30
  • 2023-03-10
  • 1970-01-01
  • 2010-11-07
相关资源
最近更新 更多