ajaxのはなし

久しぶりの投稿です。

今日はajaxではまった話。

前提として、データのキー情報をjavascriptグローバル変数に持ってます。
で、ajaxでキー情報を更新する処理がいくつかあり、
その際は画面遷移したり、リロードでグローバル変数のキー情報を更新します。

ただ、たまたまとある処理が、ajax後に画面遷移もリロードもせず、他処理を実施できるようなっており。
結果的にグローバル変数に古いキー情報が保存されたままでajaxしちゃって、古いキー情報を元にDBを更新してしまい、整合性がぶっこわれてしまうという恐ろしいことがありました。

解決策:
ajaxの戻り値でグローバル変数のキー情報を上書く
ajax後は必ず画面遷移またはリロード

基本的なことですが、ハマると再現しづらいので要注意です!