返回的 contexttype 设置为 json...
main 函数默认返回的是 text/html吧?
嗯,在main方法中,我的返回值是这样写的return Json(getcourse, JsonRequestBehavior.AllowGet);
getcourse是查询的结果。
@wj704: 贴方法的所有代码
@水墨.MR.H: 谢谢你回复,我到现在还没解决问题,可否加Q,我的QQ:1532490300
@水墨.MR.H:
[HttpGet] public ActionResult Main() { StuChooseCourseEntities ef = new StuChooseCourseEntities(); try { var dtcourse = (from a in ef.course join b in ef.major on a.MajorID equals b.MajorID select a).ToList<course>(); List<Dictionary<string, string>> getcourse = new List<Dictionary<string, string>>(); foreach (course item in dtcourse) { Dictionary<string, string> itemcourse = new Dictionary<string, string>(); itemcourse.Add("课程ID", item.ID.ToString()); itemcourse.Add("课程号", item.CourseNo.Trim()); itemcourse.Add("课程名", item.CourseName.Trim()); itemcourse.Add("开课时间", item.CourseTime.ToString().Trim().Substring(0, 10)); itemcourse.Add("课程容量", item.StuNumMax.ToString()); itemcourse.Add("课程余量", item.StuNumRemain.ToString()); getcourse.Add(itemcourse); } return Json(getcourse, JsonRequestBehavior.AllowGet); } catch { return View(); } }
方法应该是没问题的,我自己也设了断点看查询出来的结果,而且返回的数据其实也是正确的,就是为什么药下载,而不是加载到界面,让我百思不得其解。。
Main 这个action中返回json
return new json
嗯,在main方法中,我的返回值是这样写的return Json(getcourse, JsonRequestBehavior.AllowGet);
getcourse是查询的结果。
我知道错了,还是自己不够细心,也没有好好理解哪些知识点,现在改正过来了,警惕自己,要戒躁,戒躁!
哪出的错误呢
@水墨.MR.H: 我不知道这样理解对不对,我的main方法中直接就返回 return Json(getcourse, JsonRequestBehavior.AllowGet);而且main方法前有HttpGet标志,这就意味着,在页面生成之前首先找到这个方法,执行这个方法的结果是return Json,但这个时候页面还没生成,所以返回的结果不知道放哪里,也就只能让你下载了。我后面改了一下,在main方法中让它return View(),然后再另外写一方法,要想让它在页面加载后立即呈现查询到的数据,用了这个 $(document).ready(function () {
$.getJSON("/Teacher/getCourse",
function (data){});是对的,现在实现了自己想要的效果了。