2011-01-14 14 views
4

Wenn ich HTML-Text von Ajax in asp.net Anwendung erhalten sieht es so aus:Javascript html Dekodierung

<span%20style='color:green;font-weight:bold'>%20Text%20Msg</span> 

wie ist es möglich, in JavaScript dekodieren, dem Text zu normalen html?

<span style='color:green;font-weight:bold'> Text Msg </span> 

Vielen Dank!

+3

Es gibt keinen technischen Grund, warum es so aussehen sollte - zumal es sieht aus wie eine seltsame Mischung aus HTML und URL-Codierung, die JSON nicht benötigt. Sie sollten Ihr serverseitiges Skript überprüfen und herausfinden, warum es codiert ist, und es ausschalten. – RoToRa

+0

Verwenden Sie ein XSLT, um das Markup zu generieren? Was erzeugt diesen Code? – epascarello

+0

Es sieht so aus, als ob der String doppelt codiert ist: zuerst Html Encoded und dann URL-codiert. Warum ist das so? –

Antwort

0

Sie sind wahrscheinlich am besten mit einer serverseitigen Lösung zu finden, wie bereits in den Kommentaren erwähnt, da dies wie ein Problem Server-Seite erscheint.

Wenn Sie aus irgendeinem Grund wünschen ohnehin diese Client-Seite zu tun, ist hier eine Lösung:

var str = "&lt;span%20style='color:green;font-weight:bold'&gt;%20Text%20Msg&lt;/span&gt;"; 
var fixedStr = decodeURIComponent(str).replace(/&lt;/g,'<').replace(/&gt;/g,'>');