当前位置 : 主页 > 网页制作 > JQuery >

jquery – $.getJSON没有返回MVC3的响应

来源:互联网 收集:自由互联 发布时间:2021-06-15
我花了很长时间研究这个问题,看不出有什么问题.我有以下内容: $.getJSON( '/adminStatus/GetJsonData', { name: $('#textSearch')[0].value }, function (data) { alert("3");// $('#studentList div').remove();// for (s in d
我花了很长时间研究这个问题,看不出有什么问题.我有以下内容:

$.getJSON(
                '/adminStatus/GetJsonData',
                { name: $('#textSearch')[0].value },
                function (data) {
                    alert("3");
//                  $('#studentList > div').remove();
//                  for (s in data) {
//                      alert("4");
//                      var student = data[s];
//                      $('#studentList').append('<div>(' + student.StudentId + ') ' + student.FirstName + ' ' + student.LastName + '</div>');
//                  }
                }
            );

此代码在我的控制器中触发一个动作,该动作返回数据.它实际上来自另一个例子的代码:

public JsonResult GetJsonData(string name)
        {
            return new JsonResult
            {
                Data = (from student in Student.GetStudentDataList()
                        where student.LastName.StartsWith(name)
                        select student).ToArray<Student>()
            };
        }

我检查并且Data正在填充数据.

然而,返回数据没有发生任何事情,当我添加评论时,我甚至无法显示警报(“3”).

我做的事情显然是错的吗?我想我正在复制一个工作示例,但似乎没有返回任何内容,并且函数(数据){}似乎没有执行.

任何帮助将非常感激.

谢谢,

最好在 Firebug之类的内容中检查一下,看看是否有任何错误发生.尝试排除故障而不确切知道发生了什么只会导致更多的挫败感.

我认为存在潜在问题的一件事是您没有设置JsonRequestBehavior.AllowGet,因此您可能会收到服务器错误.要查看是否属于这种情况,您可以将回报更改为:

var data = (from student in Student.GetStudentDataList()
           where student.LastName.StartsWith(name)
           select student).ToArray<Student>();

return Json(data, JsonRequestBehavior.AllowGet);
网友评论