PR

【9/17】ajaxで特定のエラーが発生した際にTOPへ遷移させる #1135

wada opened this at 2021-09-13T18:16:14; closed

Description

opened by wada at 2021-09-13T18:16:14; updated 2025-07-14T11:05:04

概要

ajaxでエラーが発生すると、データが無い状態でjsの処理を実行するため、画像が表示されなかったりローディング中表示が続く

対応

ajax通信時のエラー処理を改善、S_AjaxErrorErrorCode.class.php の定数を渡すことでエラー情報を返却

全てのajax処理にエラーチェックを割り込ませて、エラー情報が返却されたら、指定されたurlにredirect

対応するエラー

31: トークンの有効期限切れ
41: 冒険の更新処理エラー
※codeは適当

テスト方法、確認した内容

現状、エラー処理を実装している箇所が、
SubFunc_yamada.inc
mission_default.inc

SubFunc_yamada.incは、以下のような処理で$ptを空にすればエラー処理が実行されます。

#ajax通信以外でもこの処理を通るため、ajaxチェックが必要
if ($_df['IS_AJAX'] && $_REQUEST['A'] == '適当なパラメータ') {
  $pt = null;
}

TODO

js圧縮はレビュー完了後

wada assign at 2021-09-13T18:16:45: Not assigned:wada
wada add_label at 2021-09-14T16:04:30: デベロップへマージ
wada change_title at 2021-09-14T16:15:25: [WIP]ajaxで特定のエラーが発生した際にTOPへ遷移させる 【9/17】ajaxで特定のエラーが発生した際にTOPへ遷移させる

Comment

#13669 by wada at 2021-09-14T16:34:33; updated 2021-09-14T16:34:33

@iwamoto @kouho
一旦、形にしてみたので、レビューお願いします。
他に良い方法があれば、教えてください。

wada add_label at 2021-09-15T09:29:24: レビュー待ち

Comment

#13760 by iwamoto at 2021-09-16T17:39:14; updated 2021-09-16T17:39:14

@wada
確認しました。処理は問題ないように思います…。

kouho add_label at 2021-09-16T19:00:35: 皇甫 LGTM

Comment

#13768 by kouho at 2021-09-16T19:01:45; updated 2021-09-16T19:01:45

@wada
確認しました。問題ないように見えます。
他に良い方法は現状分かりません…

wada merge at 2021-09-21T10:19:40: 【9/17】ajaxで特定のエラーが発生した際にTOPへ遷移させる
wada close at 2021-09-21T10:19:40: Close
wada refer at 2021-09-21T16:09:48: 1169:【9/22】リリース
wada refer at 2021-09-22T09:53:50: 1173:【9/22】リリース

Commit range

basef45ca9596622912815c8a5ba1fe830d9c9b64cc8
head4b2ebe0d32634783f572bd9bf92c3e52bb1d473f
base branchjolly/jr-web:develop
head branchjolly/jr-web:fix_cors

View commits

Commit details are loaded from Git when a dynamic archive server is running, or can be embedded with --include-commits.
Files changed7 filesView patch
statusfile
modifiedlib/SubFunc.inc
modifiedlib/SubFunc/SubFunc_yamada.inc
modifiedlib/ajax/mission_default.inc
addedlib/class/const/ErrorCode.class.php
modifiedpublic_html/js/JOLLYROGER.js
modifiedpublic_html/js/JOLLYROGER_func.js
modifiedpublic_html/js/JOLLYROGER_mission.js
Patch body is stored as a separate file to keep this page lightweight.