デバッグとは、プログラムのバグ(誤動作の原因)を取り除くことを言います。ここでは、どうしてもCGIスクリプトが動かない場合(サーバーエラーになってしまう場合)の、デバッグを方法をいくつか紹介します。 マシンで Perl を使用可能な場合は、コマンドライン(Windowsの場合は MS-DOSプロンプト)で実行確認してみましょう。期待通りのHTML文書が表示されていればOKです。(test.cgi は、作成したCGIスクリプトのファイル名です。)
CGI・Perl例文集 CGI(Perl)のサンプルプログラムをコピー&ペーストで使える便利集! « 配列を初期化する | メイン | 配列に値を追加する(push, unshift) » カテゴリー:リスト(配列) 配列から値を取り出す(pop, shift) 配列の先頭、または末尾から値を取り出すにはpop, shiftを用いれば良い。 ;# ;#配列から値を取り出す。 ;# use strict; #--------------------------# # 配列を初期化 # #--------------------------# my @array = (1..5); #--------------------------# # 値を取り出す # #--------------------------# #-- 先頭から取り出す --# print shift(@array),
CGI・Perl例文集 CGI(Perl)のサンプルプログラムをコピー&ペーストで使える便利集! カテゴリー:ソート(並べ替え) リスト(配列) 数値の値でソートする (Perl, sort) 以下のようなコードを書くと、文字列として扱われてしまい、意図した結果にならない場合がある。 @array = ( 1, 2, 3, 4, 5, 10, 11, 12 ); foreach(sort @array){ print ; print "\n" } ○実行結果 1 10 11 12 2 3 4 5 これを回避するコードは次のようなものである。 @array = ( 1, 2, 3, 4, 5, 10, 11, 12 ); #-- 昇順 --# foreach(sort {$a <=> $b} @array){ print ; print "\n" } #
IEでもできた! jQuery.ajaxでShift JIS(sjis)の外部HTMLを読み込む時の文字化け回避方法 jQuery.ajaxではいろいろなファイルが外部から読み込めて便利ですが、文字コードがUTF-8でないと、そのままで文字化けしてしまいます。 最近作るサイトはもうほとんどUTF-8が主流になってきていますので問題ないことが多いのでしょうが、どうしてもshift_jisを使う必要があって、この文字化けに遭遇。文字コードは変えられないので、なんとかしてshift_jisの文字化けを回避できない物かと調べたのですが、解決方法ありました。 結論から言うと、読み込むときのオプションに下記の3行を追加するだけです。 beforeSend: function(myData){ myData .overrideMimeType("text/html;charset=Shift_JIS")
A.phpにイベントを仕掛けて ↓ jQueryのAjaxメソッド発動 ↓ B.phpにAJAXリクエストをなげて ↓ B.phpでHTMLテキストを生成して ↓ A.phpのAjaxメソッドに戻して ↓ A.php内のボックスに$(~).html(~)でHTMLテキストを描画 ↓ なぜかIEでのみ文字化け!! (´;ω;`) なぜかIEの「ページ→エンコード→自動選択」をONにすると文字化けがおこらない。 ChromeやFirefoxでは文字化けは一切おこらない。 さらに、自分のテスト環境ではおこらず、本番環境でのみ発生する。 おそらく、ApacheかPHPの設定が異なるために起こっているのだと思う。 (詳細はしらべてないのでシラネ) ってことで早速Google先生をシバキ倒してみたら、↓に答えのヒントを書いてくれているエロいひとを発見。 感謝感謝。
jqueryでajaxの処理をするときに よく、shift_jsのhtmlにajaxで外部ファイルを読み込むと、UTF-8じゃないと文字化けすることがある。 これの対策として $.ajax({ beforeSend: function(xhr){ xhr.overrideMimeType("text/html;charset=Shift_JIS"); }, type: 'GET', url: '/hogehoge.html', dataType: 'html', success: function(data) { $('#hogehoge').html(data); }, error:function() { } }); こんな感じで beforeSend: function(xhr){ xhr.overrideMimeType("text/html;charset=Shift_JIS")
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く