JavaScriptのみでPOSTデータを取得する方法
Q&A
Closed
実現したいこと
JavaScriptのみでPOSTデータを受け取りクエリパラメータを付与してURLを生成、GETで送信したい。
■ブラウザ
IE (11だったかな?うろ覚え)
条件)
・POSTのデータ(パラメータ)を取得するにはPHPで行うことが基本だがPHPは使用できない。
・jQuery等のライブラリは使用できない。
送信元(sender.html)
~ 略 ~
<form name='sender' id='sender' method='POST'>
<input type="hidden" id='send' value='data1'>
<input type="hidden" id='send' value='data2'>
<input type="hidden" id='send' value='data3'>
</form>
~ 略 ~
<script>
document.getelementbyid('sender').action = "https://~hoge~/receiver.html?key=query";
document.getelementbyid('sender').submit();
</script>
sender.htmlでPOST送信されるデータ(data1,data2,data3)をreceiver.htmlで取得してクエリパラメータとしてURLに付与。かつ、sender.htmlのURLにあるパラメータ(key=query)も保持しつつGET送信したい。
おおまかな流れ
sender.html(POSTで送信) → receiver.html(POSTで値を受け取りURL生成。GETで送信) → result.html(最終的にここにパラメータを送る)
result.htmlに送られるURL(期待動作)
https://~hoge~/result.html?key=query¶m1=data1¶m2=data2¶m3=data3
やってみたこと
POSTをリダイレクトするとGETになるとどこかしらで書き込みがあったので自分自身にリダイレクトしたのですがパラメータがなくなってしまいました。
またXMLhttprequetを使用しサーバのresponseをみてみようとも思いましたがうまくいかず、
sender.htmlがPOSTで送信されること、result.htmlはURLパラメータからデータを受け取ることは不変なのでreceiver.htmlしか修正できません。
(sender.htmlから直接result.htmlに送ることも✖︎)
ツッコミどころ満載ですが仕様上しょうがないと思ってください。。。
実現がほぼ不可能なことも承知の上です。
どうかお力添えお願いいたします。