1. ホーム
  2. javascript

[解決済み] Javascriptのwindow.openでPOSTを使用して値を渡す

2023-06-23 17:26:16

質問

javascriptでwindow.openを使って別のページを呼び出し、その結果を返す関数があります。

以下は、私のコードのセクションです。

var windowFeatures = "status=0, toolbar=0, location=0, menubar=0, directories=0, resizable=1, scrollbars=1";
window.open ('http://www.example.com/index.php?p=view.map&coords=' + encodeURIComponent(coords), 'JobWindow', windowFeatures);

今問題なのは、GETで処理するにはデータが多すぎるので、POSTメソッドを使って渡す必要があることです。

ページ全体にフォームを実装することなく、POSTメソッドを使用してページを開くために、上記のコードをどのように変換できますか (ページには、サプライヤのリストを含む 100 の注文がリストされています - 私はサプライヤをマッピングしようとしています)。

どのように解決するのですか?

私は上記のバリエーションを使用しましたが、htmlを印刷する代わりに、私はフォームを構築し、サードパーティのURLにそれを送信しました。

    var mapForm = document.createElement("form");
    mapForm.target = "Map";
    mapForm.method = "POST"; // or "post" if appropriate
    mapForm.action = "http://www.url.com/map.php";

    var mapInput = document.createElement("input");
    mapInput.type = "text";
    mapInput.name = "addrs";
    mapInput.value = data;
    mapForm.appendChild(mapInput);

    document.body.appendChild(mapForm);

    map = window.open("", "Map", "status=0,title=0,height=600,width=800,scrollbars=1");

if (map) {
    mapForm.submit();
} else {
    alert('You must allow popups for this map to work.');
}