当前位置:  开发笔记 > 编程语言 > 正文

在jQuery中,我在JSON结果中返回HTML,我有什么必须逃避?

如何解决《在jQuery中,我在JSON结果中返回HTML,我有什么必须逃避?》经验,为你挑选了4个好方法。

在我的Ajax请求中(使用jQuery)我返回一个JSON响应.

所以json.Html会有一个我希望在div中追加的HTML字符串.

在服务器端,我是否必须逃避HTML?

在我的MVC行动中,我回来了:

return Content("{html: ???????}, "application/json");

cobbal.. 14

另一种解决方案是简单地返回HTML并使用jQuery load():

$('#someDiv').load('servershtml.html');

要按照你的方式去做,你只需要转义双引号和反斜杠.

的规格是很可读和短.



1> cobbal..:

另一种解决方案是简单地返回HTML并使用jQuery load():

$('#someDiv').load('servershtml.html');

要按照你的方式去做,你只需要转义双引号和反斜杠.

的规格是很可读和短.



2> singpolyma..:

在转义要放入JSON字符串的内容时,您只需要在引号和斜杠(ala \"和\\)中添加斜杠.HTML字符在JSON字符串中没有任何意义,所以它们很好:)

当然,请确保您的字符串本身格式正确(X)HTML,以便在插入div时不会爆炸.



3> Alex Peta..:

使用HTML创建JSON时,您必须转义双引号字符,以及CLRF字符,它将返回HTML.

我使用从AJAX请求调用的oracle过程中的pl/sql.如果您愿意,我可以发布实施.

您应该在http://www.jsonlint.com/上测试您的输出,看它是否有效.

所以

{
    "id": "1",
    "html_value": "test link returnin html code"
}

是不同的

{
    "id": "1",
    "html_value": "test link returnin
 html code"
}

因为CLRF字符.你应该用服务器端替换它 ; 或
.

希望这有帮助,Alex



4> JeanValjean..:

我将发布我的PHP经验.我希望它能有所帮助.

通常,使用json_encode()函数对数据进行编码,例如:

json_encode(array('data1' => 'String data with text',
              'data2' => 'The Site'));

由于json_encode()只能使用UTF-8字符串工作,我建议通过函数编码UTF-8中的每个字符串utf8_encode(),即

json_encode(array(utf8_encode('data1') => utf8_encode('String data with text'),
              utf8_encode('data2') => utf8_encode('The Site')));

此外,如果您使用特殊字符(如意大利语中的èà),我建议解码返回的json UTF8编码HTML.如果您需要在HTML页面中使用它(例如,作为AJAX调用的结果),这将特别有用.要通过Javascript解码,请使用:

decodeURIComponent(escape(html));

html返回的编码HTML代码在哪里.

问候.

推荐阅读
Life一切安好
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有