【问题标题】:Access the session variables from controller inside ajax call从 ajax 调用中的控制器访问会话变量
【发布时间】:2018-06-01 16:54:12
【问题描述】:

我的控制器中填写了某些字段。

 public string AjaxLogin()
        { 
          //some code to check admin or not
           Session["UserName"] = "Smith";
           if(type="Admin")
           {
              Session["UserRole"] = 1;
           }
           Session["EmployeeID"] = 101;
        }

我有一个如下所示的对该控制器的 ajax 调用,如果成功,我需要在成功中访问这些会话变量以检查用户角色。

      $.ajax(
             {
                url: GLOBAL.GetAppPath() + 'Home/AjaxLogin',
                data: data,
                type: 'POST',

                error: function (xhr, status, error) {
                     console.log(error);
                },

                success: function (result, status, xhr) {
                      if (result == 'OK') 
                      {                          
                        var UserVal = '@Session["UserRole"]';
                        alert(UserVal);
                        if(UserVal ==1)
                        {
                         var baseUrl ="@Url.Action("Admin","AdminPage")";
                        window.location.href = baseUrl;                           
                        }
                        else
                        {
                        var baseUrl ="@Url.Action("Admin","RegularPage")";
                        window.location.href = baseUrl;
                        }
                      }
                     else {
                             $('#msgError').html('Error: ' + result);
                             $('#msgError').css('display', 'block');
                          }
                      },
                  });

但我无法在此调用中访问此变量。我想检查用户角色变量并相应地给出 url 操作。

【问题讨论】:

  • 为什么不把Ajax成功码放在控制器上,然后相应地返回url?
  • @carlosfcmendes : 你能告诉我怎么做吗?

标签: javascript ajax asp.net-mvc asp.net-ajax


【解决方案1】:

如果您想重定向到项目中的控制器,您可以使用 Url 帮助程序 示例:

return JavaScript( "window.location = '" + Url.Action("Edit","Dispatch") + "'" );

P.S:我无法发表评论,因为它要求 50 声望,这就是我在这里发表评论的原因。

【讨论】:

    猜你喜欢
    • 2011-12-13
    • 2013-05-28
    • 1970-01-01
    • 2015-06-10
    • 2011-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多