求教一个关于把json数据从后台传到前台的问题。要传输的数据是html格式
如题:
要传输的json数据中包含有html数据,请问,如何解决。
字符格式的没有问题,比如string strJson="{
\"str
\":
\"AdImages
\"}";
但是:如果包含了html格式的代码,经过ajax调用后总是提示undefined.
我是这样写的
string strJson="{
\"List
\":\"<div><p style=
\'text-indent
\: -18pt;
\'\"}"
提示错误undefined
恳请有过json经验的前辈赐教,在线等谢谢。。。。。
------解决方案--------------------
你还没有弄明白 json 的用处, 以及json 与html的区别。
json是一种轻量级的数据,
数据。做web开发, 最好是把数据与展现分开的, 也就是数据与展现形式分开。 例如.net里著名的三层架构。
html就不是数据了, 可以看成是数据与形式的综合体。 大部分人在做web的ajax开发时, 很喜欢返回html而不是 json,但这不是一种很好的习惯。
当然,你要返回json或者html都可以达到目的。但是返回json与html的综合体,就太不值得了。
既没有分开数据与形式, 又没有直接构建html, 严谨与方便两方面都没有得到好处。
如果你求方便,建议你直接在后台代码里, 把html完全构建好, 前台直接接受。
$.post("xxx.ashx?y=?",function(html){
$("#divTest").html(html);
});
如果你求规范,那你还是返回纯正的json,再构建json吧
$.getJSON("xxx.ashx?y=?",function(json){
//....
});
------解决方案--------------------使用json.net来序列化,不要自己手工写。
大多数人手工写的,都是错误百出的。
------解决方案--------------------
如此说来还是可以理解楼主了, 富文本编辑器确实避免不了这个。
你可以用 newtonsoft.json.dll 来将list, datatable, 或者一般对象转成json。
手工转是非常容易出错的。