Ajax调用.Net并发回cookie

时间:2012-08-10 15:21:46

标签: c# jquery .net

我正在从html页面(移动)到.net服务器进行ajax调用以进行登录和身份验证。现在我发回JSON响应成功:true。这一切都运行正常,但我需要设置cookie,以便在我登录后进行其他记录数据调用时记住用户。

我读过关于使用JSONP的内容,但如果我不需要,我宁愿不去那条路,因为这意味着要改变很多。我想在响应中发回cookie并在客户端手动设置它。

如何在.net中的服务器端检索此cookie(或创建cookie?)并将其发送回响应中?

2 个答案:

答案 0 :(得分:3)

在ajax的success事件中,您可以在客户端设置Cookie

假设您的JSON是这样的

  {    "success": "true",    "username": "scott"   }

在你的ajax函数中,检查JSON,如果成功项值为true,则设置cookie。

$.ajax({
        url: "someserverpage.aspx",
        success: function(data) {
           if(data.success=="true")
           {
              SetCookie("YoursiteUsername",data.username,365);                   
           }
        }
});

SetCookie函数设置cookie。

function SetCookie(c_name,value,exdays)
{
  var exdate=new Date();
  exdate.setDate(exdate.getDate() + exdays);
  var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
  document.cookie=c_name + "=" + c_value;
}

答案 1 :(得分:1)

您可以在检测到成功后使用javascript设置cookie客户端:true response。