一般に、js で新しいウィンドウを開くのは非常に簡単で、単に window.open(url) を実行するだけです。
しかし、サーバーにパラメータを渡したいのですが、パラメータは長い文字列のようで、get メソッドで送信されるパラメータの長さは制限されているため、次の要件があります。
1. 投稿投稿を js で実装します
2. 返されたページが新しいウィンドウに表示されます
最初にこれを行いました:
$.ajax({
入力: 「POST」、
URL: '${contextPath}/analyse/detail.do',
データ: {carNum:carNum,ids:refIds},
成功: function(str_response) { var obj = window.open("about:blank");
});
jQuery ajax を通じて送信され、返されたデータは新しいページに書き込まれますが、ブラウザーが自動ポップアップ ウィンドウをインターセプトするため、ユーザーは自分でブロックを解除する必要があり、ユーザー エクスペリエンスは非常に劣ります。
次に、フォーム送信をシミュレートして実装しました
コードをコピーします
コードは次のとおりです:
function post(URL, PARAMS) { var temp_form = document.createElement("form");
temp_form .action = URL;
temp_form .target = "_blank";
temp_form .method = "投稿";
temp_form .style.display = "none";
opt.name = x;
opt.value = PARAMS[x];
temp_form .appendChild(opt);
document.body.appendChild(temp);
temp_form .submit();
}
注: 新しいウィンドウを開きたい場合は、フォームの target 属性を '_blank' に設定する必要があります
次に、post('${contextPath}/analyse/detail.do',{carNum:carNum,ids:refIds}) をリクエストします。