我有一个使用 JQuery AJAX 的网站。使用这个 JQuery 代码
$.post("/ajax/getsomedata.aspx", {'id': id },
function(data)
{
dosomething(data);
}
);
当我使用cookieless="false"运行它时, id会显示在Request.Form中。当我设置cookieless="true"时,id不再在Request.Form中。
更新,我做了什么
我添加了对 Response.ApplyAppPathModifier() 的调用以保留数据并避免自动重定向。我排除了 **Diago(( 并删除了我自己的,因为他的引用提供了一些关于正在发生的事情的现场信息。我喜欢单独域的想法,但我不能在这里这样做。
这是更新的代码:
$.post("<%=Response.ApplyAppPathModifier("/ajax/getsomedata.aspx")%>",
{'id': id },
function(data)
{
dosomething(data);
}
);
根据MSDN Response.ApplyAppPathModifier()如果您处于无 cookie 会话状态,则添加会话 ID,如果不是,则返回未更改的 URL。
由于没有会话 ID,ASP.NET 创建一个新会话并进行重定向(从而剥离任何表单数据)。