ホームページ  >  記事  >  ウェブフロントエンド  >  js は post メソッドを使用して新しい window_javascript スキルを開きます

js は post メソッドを使用して新しい window_javascript スキルを開きます

WBOY
WBOYオリジナル
2016-05-16 16:12:471475ブラウズ

一般に、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}) をリクエストします。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。