お世話になります。
JavaScriptでグラフ用データファイルの読込をしたいのですが、
function loadText(param1,param2){
var xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
xmlHttp.open("GET", "./" +param1 , true);
try{ xmlHttp.send(null); graphRes = xmlHttp.responseText; graphGet = graphRes.split("\n"); graphArr = new String(graphGet[1]); graphArr = graphArr.split(","); disp_Data(param1,param2); }catch (e) { Show_Alert(param1,param2); }
}
param1 対象ファイル(YYYYMMDDHH.CSV)
param2 処理項目(disp_Data及びShow_Alertにて使用、日報及び月報処理+両処理の本日項目にデータを追加)
サーバ上から対象ファイル(YYYYMMDDHH.CSV)を読む
disp_Data()にてファイル内容を対象処理項目に追加
ファイルが存在しない場合はshow_Alert()にてエラーコードを対象処理項目に追加
loadTextを39回(本日、本日から1日刻み31日分、現時刻から1時間刻み24時間分)まわすのですが、サーバの処理速度が遅いのか、対象ファイル(YYYYMMDDHH.CSV)がサーバ上に存在するにもかかわらず、ファイルを取りこぼすことがある(リロードすると正常に読み込まれる)ので、
function loadText(param1,param2){
var xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
xmlHttp.open("GET", "./" +param1 , true);
try{ xmlHttp.send(null); }catch (e) { xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); xmlHttp.open("GET", "./" +param1 , true); xmlHttp.send(null); } try{ graphRes = xmlHttp.responseText; graphGet = graphRes.split("\n"); graphArr = new String(graphGet[1]); graphArr = graphArr.split(","); disp_Data(param1,param2); }catch (e) { Show_Alert(param1,param2); }
}
ファイルを取り損ねた際、もう一度同じ処理を行い、それでとり損ねた場合はファイルが存在しないものとして処理したい、と言う意図で上記コードに変更したのですが、実際にファイルが存在しない場合、一度目のtryでcatchに入った後、エラーが出てそのままコードが停止してしまい意図した結果となりません。
どこが悪いのか御教示下さい。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/03/10 07:13