我对Jquery Ajax调用做出响应并且运行良好:
var jSonTestResultReport =@"{ ""html"" : ""I am text!"" }";
Javascript收到它并接收文本并将其显示在Div
中,我可以看到"I am Text"
。
但是当我尝试这样做时:
var jSonTestResultReport =@"{ ""html"" : ""<li style=""color:green;"">I am text</li>"" }";
我得到错误
意外令牌c。
如何通过html
发送Json
?
答案 0 :(得分:4)
var jSonTestResultReport =@"{ ""html"" : ""<li style=""color:green;"">I am text</li>"" }";
将创建一个json字符串
{ "html" : "<li style="color:green;">I am text</li>" }
无效。 unexpected token c.
来自color
的第一个字母。
使用real json parser而不是手动形成json。
var json = JsonConvert.SerializeObject(new { html=@"<li style=""color:green;"">I am text</li>" });
PS:var jSonTestResultReport =@"{ ""html"" : "I am text!" }";
无法编译。
答案 1 :(得分:1)
在<li ... >
中转义“\”之类的引号,否则JSON会因为文本分隔符而死亡
var jSonTestResultReport =
@"{ ""html"" : ""<li style=\""color:green;\"">I am text</li>"" }";
答案 2 :(得分:0)
为什么不使用jQuery.parseJSON方法,这比使用大量双引号的方式更清晰可读
e.g。
var obj = jQuery.parseJSON('{"html": "<listyle='color: green;'>Iamtext</li>"}');
另外为了加快速度,我建议你使用JsonLint验证器来验证你的json对象