![]() |
カレッヂ |
質問者 nao
投稿日 2004/10/26(火) 19:53:47
JavaScriptでCSVファイルを5秒おきに読み込むプログラムを書いています。 CSVファイルの内容はタイムスタンプのようなもので、別口でどんどん更新されていくつくり になっています。 ローカルではうまくいくのですが、実際にWebサーバ上に置いて実行すると 32行目の rs.MoveLast(); あたりでエラーになっているようです。 データの読み込み部分だけで、まだデータ表示するまではつくっていません。 何故ローカルで動いてWebサーバ上で動かないかがわかりません。 csvファイルのパスを"http://〜"のように絶対指定しても駄目でした。 どうやればうまくいくのか教えていただけないでしょうか。よろしくお願いします。 test.html ----------------------------------------------------------------------------- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html lang=ja> <head> <title>Test</title> <meta http-equiv="Content-Script-Type" content="text/javascript"> <meta http-equiv="Content-Style-Type" content="text/css"> <script type="text/javascript"> <!-- var updateInterval = 5000; //更新間隔(ミリ秒) var updateTimerID //更新タイマID var date = new Array(); //日付 var flg1 = new Array(); //緯度 var flg2 = new Array(); //経度 var historyNum = 10; //最大数 function initialize() { //データ更新タイマースタート updateTimerID = setInterval( "UpdatePosition(false)", updateInterval ); } //データ更新/////////////////////////////////////////////////////////// function UpdatePosition() { //CSVの最新状態を取得 LIST.dataURL = "cgi-bin/timelist.csv"; LIST.Reset(); var rs = LIST.recordset; //RecordSetから新しい順にデータを取得 var i = 0; rs.MoveLast(); while(!rs.EOF && !rs.BOF && i<historyNum) { date[i] = rs.Fields("Date").value; //日付 flg1[i] = rs.Fields("Flg1").value; //フラグ1 flg2[i] = rs.Fields("Flg2").value; //フラグ2 rs.MovePrevious(); i++; } } // --> </script> </head> <body onLoad="initialize();"> <OBJECT ID="LIST" WIDTH=0 HEIGHT=0 CLASSID="CLSID:333C7BC4-460F-11D0-BC04-0080C7055A83"> <PARAM NAME="DataURL" VALUE="cgi-bin/timelist.csv"> <PARAM NAME="UseHeader" VALUE="true"> </OBJECT> </body> timelist.html ----------------------------------------------------------------------------- Date,Flg1,Flg2 2004/10/12 13:53:08,1,0 2004/10/12 14:01:19,0,0 2004/10/12 14:07:42,1,0 2004/10/12 14:14:43,0,0 2004/10/12 14:19:53,0,0 2004/10/12 14:20:06,0,0 2004/10/12 14:20:16,0,1 2004/10/12 14:20:37,0,0 2004/10/12 14:20:47,0,0 2004/10/12 14:23:46,0,0 2004/10/12 14:27:09,1,0 2004/10/12 16:06:29,0,1 2004/10/12 16:06:40,0,0 2004/10/12 16:06:50,0,0
プロバイダ参照:http://www.infoseek.co.jp |
回答者 dental
[削除]
投稿日 2004/10/27(水) 18:21:30
>別口でどんどん更新されていくつくり とありますが、どんな方法なんでしょう。 例えば、CGI などでファイルを生成している場合、パーミッションは適切か確認してみては? 0700等ではブラウザから読めませんよね。 もう一つ、 cgi-bin の下は ScriptAlias が設定してあって cgi として 処理されていた場合データの読み込みが直接出来ないことも考えられます。 そこら辺の確認も。 |
質問者 nao
[削除]
投稿日 2004/10/28(木) 22:10:53
ありがとうございます。 >>別口でどんどん更新されていくつくり >とありますが、どんな方法なんでしょう。 >例えば、CGI などでファイルを生成している場合、パーミッションは適切か確認してみては? >0700等ではブラウザから読めませんよね。 CGIがtimelist.csvを生成しています。(1行ずつ追記していっています) パーミッションを確認しましたが問題なさそうです。 とりあえず777とかにしても駄目でした。 >もう一つ、 cgi-bin の下は ScriptAlias が設定してあって cgi として >処理されていた場合データの読み込みが直接出来ないことも考えられます。 >そこら辺の確認も。 ScriptAliasとは、サーバー側の設定だったでしょうか? timelist.csvをcgi-binの外に置いても同様の結果でした。 引き続き解決法を調べます。 |
返信(回答)する
Web裏技 |