1

非表示の変数に特別な文字、数字、アルファベットなどの組み合わせを含む notes(String) を設定しnotesValue、新しい jsp(nextPage) を開きます。

var Url='<%=request.getContextPath()%>/nextPage.jsp?notesValue='+document.forms[0].notesValue.value;

var Bars = 'directories=no, location=no,menubar=no,status=no,titlebar=no';
var Options='scrollbar=yes,width=350,height=200,resizable=no';
var Features=Bars+' '+Options;
alert("Url being sent ---> "+Url);
var Win=open(Url,'Doc5',Features);

nextPage.jsp 側では、次のことを行っています。

String notes = request.getParameter("notesValue");

ここではプレーンテキストのみを取得しており、すべての特殊文字は削除されています。

例: 私が設定した notesValue は: "New Notes &';>/..."

私が受け取ったのnextPage.jspは : New Notes\

どうしたの ?

4

2 に答える 2

1

エンコードするstring result

encodeURIComponent(document.forms[0].notesValue.value);

追加する必要はありません。plugin組み込み済みですfunction

于 2013-05-09T05:56:32.623 に答える
1

このメソッドを使用してデータを送信する場合:

nextPage.jsp?notesValue='+document.forms[0].notesValue.value;

GETURLにデータを追加しているため、データを送信する方法を使用しています。ただし、URL には特別な意味を持つ多くの特殊文字が含まれています (、、、、&など>) 。 <;

これらの文字が URL 内で特別な役割で使用されていない場合は、エンコードする必要があります

そのため、それらを値として送信する必要がある場合は、最初にそれらをエンコードする必要があります。つまり、それらが特別な URL 文字と見なされないためです。

URLの文字エンコーディング一覧はこちら

POSTこれを回避するには、代わりにメソッドを使用できます。

こちらもお読みください: javascript で URL をエンコードする方法

于 2013-05-09T05:57:11.550 に答える