我正在从 html 页面(移动设备)向 .net 服务器进行 ajax 调用以进行登录和身份验证。现在我正在发送一个成功的 JSON 响应:true。这一切都很好,但我需要设置 cookie,以便在登录后进行其他调用以记录数据时记住用户。
我读过有关使用 JSONP 的信息,但如果我不必这样做,我宁愿不走那条路,因为这意味着要改变很多。我只想在响应中发回 cookie 并在客户端手动设置它。
如何在 .net 的服务器端检索此 cookie(或创建 cookie?”并在响应中发回?
在你success
的ajax事件中,你可以在客户端设置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 客户端。