使用Jquery ajax在Controller中调用ActionResult方法并返回数据

我试图了解Jquery Ajax方法的工作原理。 现在,我在控制器中调用ActionResult方法时会遇到一些问题,该方法将返回PartialView。

创建了一个按钮,我将使用该按钮从服务器获取新数据(应运行Ajax调用)

代码:( Home控制器中的ActionResult)

public ActionResult All() { List model = db.Students.ToList(); return PartialView("_Student", model); } 

当我在主索引视图中按下按钮时,我正试图调用此方法。

代码:(索引视图)

 

Travel

当用户点击按钮时,应该运行Ajax调用,列表将显示在id = rooms的部分中。

脚本:( Ajax代码)

  $(document).ready(function () { $('#button1').click(function () { $.ajax({ type: 'GET', url: @Url.Action("All", "Home"), datatype: "html", success: function () { $('#rooms').html(???); } }); return false; }); }); 

你们中的任何人都可以看到我是否已经忘记了一些像我所描述的那样运行的东西?

结果是成功事件。 尝试:

 $(document).ready(function () { $('#button1').click(function () { $.ajax({ type: 'GET', url: @Url.Action("All", "Home"), datatype: "html", success: function (data) { $('#rooms').html(data); } }); return false; }); }); 

当您单击按钮(启用控制台)时,我建议加载firebug,确保请求的URI响应click事件上的有效HTML数据。

我也经常发现使用类似的东西:

 $('#button1').on('click', function () { ... 

通常会产生更好的结果,请参见此处: .on(’click’)与.click()之间的差异