Jquery Json返回了我的HTML<;br/>;采用unicode格式\u003cbr/\u003e。导致<;br/>;作为文本打印,而不是制作新行
我使用的是ASP.NETMVC3,我使用Jquery.AJAX返回了一个Json格式的模型,然后将其传递到Jquery模板中进行打印 例如,服务器返回的Json是Jquery Json返回了我的HTML<;br/>;采用unicode格式\u003cbr/\u003e。导致<;br/>;作为文本打印,而不是制作新行,jquery,html,asp.net-mvc-3,encoding,decoding,Jquery,Html,Asp.net Mvc 3,Encoding,Decoding,我使用的是ASP.NETMVC3,我使用Jquery.AJAX返回了一个Json格式的模型,然后将其传递到Jquery模板中进行打印 例如,服务器返回的Json是 {“Key”:2,“Content”:“我是Jason\u003cbr/\u003ehou”} 而不是 {“Key”:2,“Content”:“我是Jason你好”} 当我使用Jquery模板将其附加到Div中时,它打印出如下内容: 我是杰森你好 而预期的结果应该是 I'm Jason how are you 我是否应该阻止服务器
{“Key”:2,“Content”:“我是Jason\u003cbr/\u003ehou”}
而不是
{“Key”:2,“Content”:“我是Jason
你好”}
当我使用Jquery模板将其附加到Div中时,它打印出如下内容:
我是杰森
你好
而预期的结果应该是
I'm Jason
how are you
我是否应该阻止服务器在服务器端对字符串进行编码?但我认为这可能会导致安全问题。因此我认为我必须在客户端解码Json字符串,但到目前为止运气不佳。有人能告诉我一个适当的方法来处理这种问题吗
谢谢 *已更新
我使用
jQuery('#someDiv').append(data.Content)进行了测试代码>并按预期打印出来。
所以问题可能与Jquery模板有关
<script id="someTemplate" type="text/x-jquery-tmpl">
<div>${Content}</div>
</script>
我使用这段代码将数据传递到Jquery模板Jquery('someTemplate').tmpl(data.appendTo('someDiv')代码>
我的Jquery模板
<script id="someTemplate" type="text/x-jquery-tmpl">
<div>${Content}</div>
</script>
${Content}
您应该取消内容字符串的扫描,例如:
alert(unescape('\u003cbr /\u003e'));
我对ajax模板也有同样的问题。字符串有一个在模板上被忽略的\n,如果我将其转换为
,则会显示
,而不是换行符
如果我使用{unscape(myString)}
,那么结果仍然是“一些文本
下一行”我遇到了同样的问题。无需编码/解码或转义/取消转义
与此相反:
${Content}
使用以下命令:
{{html Content}}
带有的unicode将显示为HTML 如何处理JSON数据?似乎有一种方法可以通过jquery模板实现这一点。无需转义json字符串中的unicode字符,例如“您购买的增值税将在未来5天内开具账单\u0020”,效果良好。我已经测试过了。