3

我想在我的控制器中进行注销操作。我不想让新页面出现。我只想向控制器发送消息。这就是我的想法。

但我有一些问题。

a)它应该是“get”还是“post” b)为了完全清除浏览器中的内容,我还应该重定向到新页面吗?

    [HttpPost]
    public JsonResult JsonLogout()
    {
        FormsAuthentication.SignOut();
        return Json(new { success = true });
    }
4

1 回答 1

3

由于您的操作附加了 HttpPost 属性,因此您还需要使用 POST 发送 ajax 请求。如果您删除此属性,您将能够同时使用 POST 和 GET,并且两者都适用于该应用程序。

如果您愿意,您可以随时发送此操作而无需刷新页面,但是,您应该考虑,如果您唯一要做的就是发送 ajax 请求并且不更改页面,则不会向用户反馈他们实际上已注销。您可以弹出一条消息,但仍会显示页面的其他元素。他们会收到的唯一反馈是当他们单击另一个链接并意识到它要求他们重新登录时。

编辑:另外,我对此的反馈是根本不使用 ajax。您最好让页面重新加载以确保您拥有一个干净的、未经身份验证的界面。

祝你好运!

于 2012-04-21T18:10:44.707 回答