Asp.net mvc 3 Ajax.ActionLink失败

Asp.net mvc 3 Ajax.ActionLink失败,asp.net-mvc-3,asp.net-ajax,Asp.net Mvc 3,Asp.net Ajax,现在,我正在学习MVC对Ajax的实现,我很难让它正常工作。以下是我所拥有的: @Ajax.ActionLink("Click here to get a title", "Yo", new AjaxOptions { OnSuccess = "alert(\"YES!\")", OnFailure = "alert(\"WHY?!\")" }) 以下是两种控制器方法: public PartialViewResult GetThatTitle() {

现在,我正在学习MVC对Ajax的实现,我很难让它正常工作。以下是我所拥有的:

@Ajax.ActionLink("Click here to get a title", "Yo",
    new AjaxOptions { OnSuccess = "alert(\"YES!\")", OnFailure = "alert(\"WHY?!\")" })
以下是两种控制器方法:

    public PartialViewResult GetThatTitle()
    {
        var titular = new TitleDataEntity { };
        titular.TitleName = "Inception!";
        titular.PublishDate = DateTime.Now;
        titular.Id = 2;

        return PartialView("_testView", titular);
    }

    public JsonResult Yo()
    {
        var titular = new TitleDataEntity { };
        titular.TitleName = "Inception!";
        titular.PublishDate = DateTime.Now;
        titular.Id = 2;
        if(Request.IsAjaxRequest())
        {
            return Json(titular);
        }
        return Json(titular);
    }

当我调用函数“Yo”时,浏览器会显示“为什么?!”警告框。但是当我调用GetHatTitle时,它给了我成功的警示。为什么在我尝试返回Json结果时失败了?

在返回默认禁用的Json时,您需要允许这样的GET请求:

return Json(titular, JsonRequestBehavior.AllowGet);
此外,我强烈建议您使用。它在控制台中显示所有AJAX请求,您可以看到请求和响应。如果您使用过它,您会看到以下内容:

无效操作例外:此 请求已被阻止,因为 敏感信息可能是 向第三方网站披露 在GET请求中使用时。到 允许获取请求,设置 JsonRequestBehavior到AllowGet。]


这当然会让你走上正轨。

伙计,我觉得自己像个白痴。谢谢你的帮助和及时回复。你太棒了。