1

javascriptの特殊文字に問題があります。次の文字列を持つ入力テキストを含むフォームがあります。

10/10/2010

form.serialize();の後 私はこの文字列を次のように取得します

10%2F10%2F2010

'/'文字はASCIIコード%2Fに変換されます。

を使用して変換することはできますがString.fromCharCode(ascii_code)、フォームに多くの入力があるため、これらの文字列は次のようになります。

var=14&var=10%2F10%2F2010&var=10%2F10%2F2010&var=10%2F10%2F2010

この文字列を(「手動で」)調べて、それらの値を見つけて変換する必要があることを示すための単なる例です。

その変換を実行する簡単な方法はありますか?以前はその問題がなかったので奇妙なことに、なぜ今これが起こっているのかわかりません。

4

1 に答える 1

6

それが意図されている方法であるため、私はそのように起こります:

.serialize()メソッドは、標準のURLエンコード表記でテキスト文字列を作成します。これは、フォーム要素のセットを表すjQueryオブジェクトを操作します。

私の知る限り、シリアル化を解除するネイティブのjQuery関数はありませんが、あなたの投稿は、すでにそれを取得していて、URLエンコードされた文字列にとどまっていることを示唆しています:

decodeURIComponent(encodedURI)
以前にencodeURIComponentまたは同様のルーチンによって作成されたURI(Uniform Resource Identifier)コンポーネントをデコードします。

于 2013-01-31T16:20:05.020 に答える