ajaxのはなし
久しぶりの投稿です。
今日はajaxではまった話。
前提として、データのキー情報をjavascriptのグローバル変数に持ってます。
で、ajaxでキー情報を更新する処理がいくつかあり、
その際は画面遷移したり、リロードでグローバル変数のキー情報を更新します。
ただ、たまたまとある処理が、ajax後に画面遷移もリロードもせず、他処理を実施できるようなっており。
結果的にグローバル変数に古いキー情報が保存されたままでajaxしちゃって、古いキー情報を元にDBを更新してしまい、整合性がぶっこわれてしまうという恐ろしいことがありました。
解決策:
・ajaxの戻り値でグローバル変数のキー情報を上書く
・ajax後は必ず画面遷移またはリロード
基本的なことですが、ハマると再現しづらいので要注意です!