説明
DEXTUploadX5 操作時に発生したエラーは、コンポーネント作成時に発生したエラーを除き、すべてonDX5Errorコールバック関数に渡されます。
/**
* コンポーネントまたは内部で渡されたすべてのエラーおよび警告メッセージは、onDX5Errorコールバック関数で取得できます。
* @param {string} id エラーまたは警告が発生したコンポーネントのID。
* @param {string} code エラーコード。
* @param {string} msg エラーメッセージ
*/
function onDX5Error(id, code, msg) {
alert(id + " => " + code + "\n" + msg);
}
onDX5Error関数がページにない場合、エラーをチェックする方法がありません。
onDX5Error関数に加えて、DEXTUploadX5にはエラーを個別に記録するロギング機能がありません。
onDX5Error関数は、開発中に発生した文法や論理的なスクリプトのエラーに対して責任を負いません。
アップロード後にサーバー側でエラーが発生した場合は、アップロードに失敗したと判断します。HTTPはGET/POSTリクエストをする時、サーバーでコードが正常に完了すればHTTPステータスコード200を返す(ファイルアップロードと同じ)。DEXTUploadX5がサーバーから200コード値を受け取ると、ファイルアップロードが完了したことに気づき、onDX5UploadCompletedコールバック関数を呼び出します。
一方、サーバーが400、403、404、500のようなHTTPステータスコードを受信した場合、エラーが発生したとみなし、それ以上の操作を停止し、onDX5Errorコールバック関数を呼び出します。したがって、サーバーサイドのコードはエラーを無視せず、例外が発生したときに500エラーが配信されるように対処する必要があります。もしサーバーがtry - catch文のようにエラーを保持し、エラーを渡さなかった場合、サーバーは200の値を返すので、DEXTUploadX5はアップロードが成功したと誤解します。また、サーバーでエラーが発生した場合、エラーページをきれいな形式で装飾してクライアントに送ることが多い。しかし、レスポンスページのステータスコードが200であれば、DEXTUploadX5は正常にアップロードが完了したと判断します。
この例では、submitボタンが押されると404エラーが発生するようにサーバー側を設定しています。
function onDX5Created(id) {
var dx = dx5.get(id);
// アップロードパスは実際には存在しません。
// そのため、送信ボタンをクリックするとサーバーで 404 エラーが発生します。
dx.setUploadURL(dx5.canonicalize("../service/not-existed-service.do"));
}
例