我正在从html页面(移动)到.net服务器进行ajax调用以进行登录和身份验证。现在我发回JSON响应成功:true。这一切都运行正常,但我需要设置cookie,以便在我登录后进行其他记录数据调用时记住用户。
我读过关于使用JSONP的内容,但如果我不需要,我宁愿不去那条路,因为这意味着要改变很多。我想在响应中发回cookie并在客户端手动设置它。
如何在.net中的服务器端检索此cookie(或创建cookie?)并将其发送回响应中?
答案 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。