2010-10-10 51 views
0

使用.net MVC2應用程序生成一串HTML代碼,該代碼將由我的用戶複製/粘貼到第三方的Web應用程序。換句話說,我不想呈現HTML - 我想要字符串逐字顯示。通過JSON返回HTML代碼

我需要了解什麼JSON/jQuery屬性必須明確設置,以便我的應用程序的字符串顯示爲純粹的ascii - HTML代碼顯示爲未經更改,未轉義,未呈現。

TX

+0

所以我不知道如果要加載通過AJAX這個HTML字符串你提到jQuery的運行呢?如果是這樣,沒有特殊的屬性,但在這裏按照第一個答案來呈現字符串。 http://stackoverflow.com/questions/24816/escaping-html-strings-with-jquery – Ryan 2010-10-10 15:41:13

回答

2

JSON本身是文本(ASCII,UTF-8,或其他)。嵌入在其中的HTML絕對沒有特別的意義。

瀏覽器將該文本呈現爲HTML的唯一原因是,如果您將其注入頁面,可能使用.html()函數。

如果要將其作爲文本注入,請嘗試.text()函數,或者如果您正在討論textarea或其他表單元素.val()

您不需要對ASP代碼或JSON進行任何更改;這完全是一個問題,一旦你掌握了內容,你會如何處理這些內容。

0

只需使用html特殊字符生成html字符串即可。也就是說,把所有的小於& lt;等等。我不知道asp,但我確定它有一些htmlspecialchars()(php)等價。這與JSON或jQuery無關。一旦你有正確更新的字符串,那麼你就沒有什麼可擔心的。

如果您使用Javascript(硬編碼,Ajax等)將文本作爲純html進行獲取,您可以使用$(「#container」)更新容器。這將把它變成可讀的html,而不是解釋html本身(基本上做htmlspecialchars()做什麼)!

1

你只需要把你的代碼,並通過的HTMLEncode

<%= Server.HtmlEncode(YourHtmlHere) %>