ASP.NET MVCでCookieが保存されなくて困った話
あらまし
ajaxでActionMethodを呼び出して値をCookieに保存
↓
完了後にページ遷移させて、上記Cookieの値を参照
↓
変更が反映されてない!
原因
AJAXはレスポンスを参照せず、正常終了したか否かしか見てなかった。
なので成功時のActionResultは以下のように返していた。
return new HttpStatusCodeResult(HttpStatusCode.OK);
対処方法
ActionResultを以下のように書き換えた。
return Json("OK");
考察
検証はしていないが、おそらくクライアントに返却するレスポンスヘッダがnew HttpStatusCodeResult(HttpStatusCode.OK)では正しく生成されておらず、Cookieの書き換えが正常に行われていなかった。
Json("OK")ではレスポンスヘッダがきちんと生成されていてCookieの書き換えが正常に行なわれていたものと思われる。
結論
気軽にActionResultにnew HttpStatusCodeResult(HttpStatusCode.OK)を返してはいけない
Author And Source
この問題について(ASP.NET MVCでCookieが保存されなくて困った話), 我々は、より多くの情報をここで見つけました https://qiita.com/mk-NS/items/8e2b4506a3074612d491著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .