以下リンクを読み、Ajaxにタイムアウトを追加しました。
非同期通信(Ajax)をするときはタイムアウト処理を必ず入れてほしい(切実)
https://qiita.com/tonkotsuboy_com/items/d1b3cf45ae5135441f9b
しかし次の不整合で悩んでいます。
###フロントエンドとバックエンドの不整合
タイムアウトしたからといって、バックエンド(PHPとSQL)はDBにレコードINSERTを続けますし、それが成功すれば普通にフォロー情報はINSERT済となります。
しかしフロントエンドではalert('タイムアウトしました')
のようなエラーを出して、<button>フォロー済</button>
を<button>未フォロー</button>
へと戻します。
つまりこの時点で、
・フロントエンドの「未フォロー」
・バックエンドの「フォロー情報INSERT済」
という不整合が生じると思います。
###質問事項
タイムアウトしたら、上記不整合をどうやって調整するのでしょうか?
まさかもう一度Ajaxを流して、「さっきのフォロー情報のレコードをDELETEせよ」とするのでしょうか?
回答1件
あなたの回答
tips
プレビュー