简体   繁体   English

在服务器端解码html

[英]Decoding html on server side

I have a string which I want to encode on client side using JavaScript: 我有一个要在客户端使用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"

Then I'm passing encoded string blogBodyEnc to server using jquery ajax. 然后,我使用jquery ajax将编码的字符串blogBodyEnc传递给服务器。 And now I want to decode this string on server. 现在,我想在服务器上解码此字符串。 I'm trying: 我正在努力:

/* 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"

Could anybody say what is wrong? 有人能说出什么问题吗? I expecting to see html code after decoding on server side... but it still encoded. 我希望在服务器端解码后能看到html代码...但是它仍然可以编码。

您需要UrlDecode ,而不是HtmlDecode

I think he really wants: 我认为他真的想要:

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

And call it as so: 并这样称呼:

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

To then use 然后使用

string msg = HttpUtility.HtmlDecode(blogBodyEnc);

Adding sample jsfiddle 添加样本jsfiddle

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM