我花了很长时间研究这个问题,看不出有什么问题.我有以下内容: $.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);