私は ajax を使用する初心者であり、完全に非同期であると常に考えていました。しかし、ページのリロードやページの変更 (ハイパーリンクのクリックなど) によって呼び出しが中断される可能性があることを発見しました。私は、ajax 呼び出しが開始されると、ブラウザーが後で何をしても実行されるという印象を受けました。それは間違っていますか?
ここで、私が抱えている特定の問題について説明します。ユーザーが (テキスト ボックスに入力して) 質問に答えるオンライン テストを考えてみてください。テキストボックスがフォーカスを失うと、テキストボックスの値を DB に永続化する ajax 呼び出しがトリガーされます。これは、テキストボックスを変更するときにうまく機能します。ただし、別のページへの投稿アクションをトリガーする送信ボタンもあります (送信ボタンです)。テキストボックスに何かを入力してからボタンをクリックすると、呼び出しが実行されません。さらに、テキストボックスに入力し、別の場所をクリックして(呼び出しもトリガーします)、送信ボタンをすばやくクリックしても、呼び出しは行われません。それは期待される動作ですか?
そもそも ajax を使用している理由は、値を永続化するためです。そのため、ブラウザーのクラッシュなど、予測できないことが発生した場合、既に入力されたテキストは既に保存されています。
私の考え方は間違っていますか?この問題をどのように解決しますか?
お時間をいただきありがとうございます!