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

処理終了後、他のプログラムへPOST方式でsubmitして、移動する方法

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

お礼率 77% (27/35)

処理終了後、他のプログラムへPOST方式でsubmitする方法はないでしょうか。
GET方式を使えば出来ますが、POST方式で値を渡したいのですが、可能でしょうか。
という質問があり、とても参考になりましたが、その後の処理がわかりません。

ユーザーが登録後、自分のサーバで処理終了し、
他のサーバーにある、パスワードとIDをPost方式で受け取るcgiへ引継ぎ、ログイン後の画面へ移行したいです。
そのプログラムは、GETでは、受け取れないようです。

LWPモジュールが使えないため、socketで、サーバ間の通信を考えていますが、どのようにして、ユーザーの接続を他のサーバ側に引き継いでよいのかわかりません。

お力をお貸しください。
よろしくお願いいたします。
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.2
レベル12

ベストアンサー率 67% (310/456)

はい。
"document.form.submit()"の効果は,フォームのSubmit(送信)ボタンを押すのと全く同じなんです。

実験的HTMLソースを作成しました。
これを見ていただけば,理解しやすいでしょうか?
このHTMLソースはページを開いたとき,Javascriptのボタンを押したとき,Submitのボタンを押したとき,3つのいずれかでフォームの送信動作(action)を実行します。

<FORM name=MYFORM action="javascript:alert('送信')">

<input type=submit>

<input type=button value="JavaScriptのボタン"
onClick="javacsript:document.MYFORM.submit()">

</FORM>

<SCRIPT language="JavaScript">
<!--
document.MYFORM.submit();
-->
</SCRIPT>
お礼コメント
pion16

お礼率 77% (27/35)

ページを開いたときそのまま送るのは、まさに必要としていた機能です。
おかげさまで出来そうです。ありがとうございました。
投稿日時 - 2001-12-13 11:51:15
-PR-
-PR-

その他の回答 (全1件)

  • 回答No.1
レベル12

ベストアンサー率 67% (310/456)

1.元サーバ: POSTさせたい内容のフォームを含むHTMLを元サーバで作成。 そのHTMLの最後に,JavaScriptの"document.form.submit()"含ませておく。 この作成したHTMLページをユーザへ返送。 2.クライアント側ブラウザ: JavaScriptの実行により,次のサーバへのPOSTリクエストを発行。 上のような方法で,うまくいきま ...続きを読む
1.元サーバ:
POSTさせたい内容のフォームを含むHTMLを元サーバで作成。
そのHTMLの最後に,JavaScriptの"document.form.submit()"含ませておく。
この作成したHTMLページをユーザへ返送。

2.クライアント側ブラウザ:
JavaScriptの実行により,次のサーバへのPOSTリクエストを発行。

上のような方法で,うまくいきませんか?


サーバ間通信をどうしても使いたいのなら,元サーバは一時的にReverseProxyとして動作させる必要がありますね。具体的には以下のような流れ。
元サーバ:次のサーバへPOSTリクエスト

次のサーバ:元サーバへその結果を返す。

元サーバ:次のサーバから受け取った結果をクライアント側ブラウザへ返す。

クライアントには,次のサーバの結果のみが返る。
お礼コメント
pion16

お礼率 77% (27/35)

早速のご指導ありがとうございます。

なにも、サーバー間通信しなくても、良いのですね。
相手側が、Refererで制限をかけてくれるようなら、JavaScriptを使いたいと思います。

サーバ間通信は、なるべくなら避けたかったので、とても参考になりました。

JavaScriptは、あまり詳しくないのですが、
document.form.submit()を使うと、cgiへフォームして、その結果を見て、別のところに、フォームをさらに投げられると言うことが出来るのでしょうか?
投稿日時 - 2001-12-10 02:58:54


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

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

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

特集


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

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ