0

JavaScript を使用してクライアント側でエンコードしたい文字列があります。

/* JS code */
var blogBody = $(".editor").val();
var blogBodyEnc = encodeURIComponent(blogBody)
// blogBody = "<p>text</p><p><br></p><p><br></p><p>text</p>";
// blogBodyEnc = "%3Cp%3Etext%3C%2Fp%3E%3Cp%3E%3Cbr%3E%3C%2Fp%3E%3Cp%3E%3Cbr%3E%3C%2Fp%3E%3Cp%3Etext%3C%2Fp%3E"

次に、jquery ajax を使用して、エンコードされた文字列 blogBodyEnc をサーバーに渡します。そして今、サーバーでこの文字列をデコードしたいと思います。私はしようとしています:

/* ASP.NET code */
string msg = HttpUtility.HtmlDecode(blogBodyEnc);
// blogBodyEnc = "%3Cp%3Etext%3C%2Fp%3E%3Cp%3E%3Cbr%3E%3C%2Fp%3E%3Cp%3E%3Cbr%3E%3C%2Fp%3E%3Cp%3Etext%3C%2Fp%3E"
// msg =         "%3Cp%3Etext%3C%2Fp%3E%3Cp%3E%3Cbr%3E%3C%2Fp%3E%3Cp%3E%3Cbr%3E%3C%2Fp%3E%3Cp%3Etext%3C%2Fp%3E"

誰が何が間違っていると言うことができますか? サーバー側でデコードした後に html コードが表示されることを期待していますが、まだエンコードされています。

4

2 に答える 2

4

あなたがしたいUrlDecode、ではありませんHtmlDecode

于 2012-11-22T17:20:08.670 に答える
1

彼は本当に望んでいると思います:

function htmlEncode(value){
   return $('<div/>').text(value).html();
}

そして、次のように呼び出します。

var blogBodyEnc = htmlEncode($(".editor").val());

次に使用するには

string msg = HttpUtility.HtmlDecode(blogBodyEnc);

サンプルjsfiddle の追加

于 2012-11-22T17:22:13.680 に答える