【发布时间】:2016-10-09 15:41:23
【问题描述】:
我很困惑为什么我的 Ajax 调用不起作用。目前,我只需要来自客户端的 Ajax 方法来访问我的控制器方法。 警报命令在我的 HTML 上弹出 但不能从客户端访问服务器端。请告知我在以下内容中缺少什么:
-
调用我的控制器的动作方法获取数据
<script> $(document).ready(function () { $.get("@Url.Action("GetData","Driver")",function(data){ $("#dataForSecond").html(data); alert("Second ActionResult"); }); }); -
在我的控制器中获取数据方法只是返回:
public ActionResult GetData() { logger.AddLog("INTO 2nd Action Method"); var secondData = "I m Dummy"; //System.Threading.Thread.Sleep(500); logger.AddLog("Setting loggedInAgent Value Again"); // ViewBag.loggedInAgents = "11"; return Json(secondData, JsonRequestBehavior.AllowGet); } -
为了进行测试,我在客户端进行了跟踪,但没有进行刷新,只是像以前一样弹出。我的代码是怎么回事,我不知道。
$(function () { var refreshInterval = 5000; var url="@Url.Action("GetData","Driver")"; setInterval(function () { $("#View1").load(url); }, refreshInterval);
【问题讨论】:
-
secondData变量的值是在哪里设置的?无需在GetData方法中设置 ViewBag 项。此外,您正在调用Show方法,我们不知道里面是什么!你不应该调用GetData方法吗? -
先生,编辑后@我可以控制 Ajax 的 UI/客户端。但控制不会转到控制器方法/驱动程序。我在 GetData() 中实现了 LogGING,但从未为此方法编写日志。
-
你的页面有没有js错误?
标签: jquery html ajax asp.net-mvc server-side