前提・実現したいこと
お世話になります。
プログラミング初心者のため至らない点が多々あると思いますが
よろしくお願いいたします。
現在、JSからCGI(Perl)を呼び出し、配列を返したのち(試しのため中身はなんでも良い)
戻ってきた配列をテキストファイルでダウンロードしたいと考えております。
流れとしては、
①テキストボックスとダウンロードボタンを作成
②ダウンロードボタン押下でテキストボックスの値を受け取り、AjaxのurlにてCGIをける
③返ってきた配列データをテキスト形式でダウンロードする
まだこのやりかたでいけるのか調査段階です。
そこで質問なのですが、CGIからの返す値(配列)はどのように設定するのでしょうか?
return的な何かがあるのでしょうか。
どのように返す配列をセットするのかがイメージできず、困っております。
初歩的な質問でしたら申し訳ございません。
また、環境はWindowsで10で行っております。
特に何もインストールしておらず、JSはhtml拡張子で動かしております。
これ自体にも問題はありますでしょうか?
以上、ご回答いただければ幸いです。
該当のソースコード
test.html
.....(省略) <script> /*ダウンロードボタン押下時の処理 onclick属性で設定されている*/ function download(){ downloadDataGet().done(function(result){ if(result == ""){ alert("データがありません。"); return false; } var tempArray = retult.split(","); //データがなければ終了 if(!tempArray){ alert("データがありません。"); return false; } //↓データがあった場合、ここでファイルを生成する予定 //現在データがとれないため、処理がかけておりません }).fail(function(result){ alert("データを取得できませんでした"); } } /*ダウンロードファイルを取得する*/ function downloadDataGet(){ return j$.ajax({ type:'GET', dataType:'text', timeout:10000,//仮 data:{ start_time:start_time //テキストボックスの値 }, url:(CGIまでのファイルパス)+'test.cgi' }) } </script> ......(省略)
test.cgi
...(省略) #パラメータ取得 our $q = CGI->new; our $S_TIME = $q->param('start_time'); #本来はこのしたに該当の日付(取得したパラメータ)のデータを #取得するコマンドを実行するのですが今回は適当な配列を作成して返したいと思っています。 binmode STDIN, ':encoding(cp932)'; binmode STDOUT, ':encoding(cp932)'; binmode STDERR, ':encoding(cp932)'; my ($var1, $var2, $var3); ($var1, $var2, $var3) = ("月曜", "火曜", "水曜");

バッドをするには、ログインかつ
こちらの条件を満たす必要があります。