【问题标题】:Confused about json post and get when doing a logout action using ASP.MVC3使用 ASP.MVC3 执行注销操作时对 json post 和 get 感到困惑
【发布时间】:2012-04-21 18:06:30
【问题描述】:

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

但是我有一些问题。

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

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

【问题讨论】:

  • 我同意 Shawn 的观点,对于注销我也选择不使用 Ajax,这样用户就可以明显地看到他​​们正在注销,尤其是如果您在任何地方都有“欢迎”用户名在显示他们当前已登录的页面上。最好强制刷新页面,以免用户感到疑惑

标签: javascript jquery asp.net-mvc asp.net-mvc-3


【解决方案1】:

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

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

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

祝你好运!

【讨论】:

    猜你喜欢
    • 2011-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多