Ajax调用.Net并发回cookie

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

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

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

在您的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; } 

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