JQueryAJAXを使用するWebサイトがあります。この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は新しいセッションを作成し、リダイレクトを実行します(したがって、フォームデータをすべて削除します)。