OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

JavaScriptからCGI

  • すぐに回答を!
  • 質問No.161728
  • 閲覧数103
  • ありがとう数4
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 35% (5/14)

JavaScriptの関数内でCGIを呼び出す際に、
以下のようにしています。
location.href = "result.cgi?MSG="+Message+"&FLAG="+Flag;
しかし、Messageという変数に「=」という文字
が含まれているためうまくCGIにわたってくれません。
こちらからCGIにわたす際にきちんと引数を
わたすためにはどうしたらよいのでしょうか?
教えてください。
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.2
レベル7

ベストアンサー率 50% (11/22)

多分、問題になるのは[=]だけではないと思います。[&]も[?]もダメなはず。
なので、URLに使っちゃいけない文字を片っ端からエンコードしてくれる関数を使ってしまいましょう。参考URL参照。
str = escape("いろは");
渡したい値それぞれに、上記関数による変換をかけてみてください。
CGIの方のデコードが賢ければ、これだけで幸せになれると思います。
お礼コメント
mymilky

お礼率 35% (5/14)

ありがとうございました。
なんとかできました。
投稿日時 - 2001-12-06 22:02:19
-PR-
-PR-

その他の回答 (全1件)

  • 回答No.1
レベル12

ベストアンサー率 75% (398/526)

そのCGIのデコードルーチンがまともなものであれば、Message内の「=」を、全て「%3D」に変換すれば解決するはずです。 (「%3D」は「=」をエスケープした値です) Message = Message.replace(/=/g,'%3D'); という行を追加してみて下さい。 ...続きを読む
そのCGIのデコードルーチンがまともなものであれば、Message内の「=」を、全て「%3D」に変換すれば解決するはずです。
(「%3D」は「=」をエスケープした値です)

Message = Message.replace(/=/g,'%3D');
という行を追加してみて下さい。
お礼コメント
mymilky

お礼率 35% (5/14)

ありがとうございました。
なんとかできました。
投稿日時 - 2001-12-06 22:03:14


このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ