Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在jQuery中,我返回JSON结果中的HTML,我必须转义什么?_Jquery_Json - Fatal编程技术网

在jQuery中,我返回JSON结果中的HTML,我必须转义什么?

在jQuery中,我返回JSON结果中的HTML,我必须转义什么?,jquery,json,Jquery,Json,在我的请求(使用)中,我返回一个响应 因此,json.Html将在div中添加一个Html字符串 在服务器端,我必须转义HTML吗 在我的MVC行动中,我返回: return Content("{html: ???????}, "application/json"); 当转义要放入JSON字符串的内容时,只需在引号和斜杠(ala\”和\)中添加斜杠。HTML字符在JSON字符串中没有任何意义,所以它们很好:) 当然,请确保字符串本身是格式良好的(X)HTML,以便在插入div时不会爆炸。另一种

在我的请求(使用)中,我返回一个响应

因此,json.Html将在div中添加一个Html字符串

在服务器端,我必须转义HTML吗

在我的MVC行动中,我返回:

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

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


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

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

不过,要按自己的方式来做,只需避开双引号和反斜杠


非常可读且简短。

如果将
数据类型设置为
'json'
,则传递给
完成
事件的对象将是该javascript对象。基本上,jQuery将把响应内容(假定其格式正确的json)转换为javascript对象。例如

$.ajax({
    dataType: 'json',
    complete: function(myJsonObject) {
        alert(myJsonObject.someMember);
    }
}); //$.ajax({

如果您想知道如何从.net生成格式正确的JSON,那么我鼓励您进行探索,因为它使生成JSON变得非常简单。

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

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

您应该在测试您的输出,看看它是否有效

所以

{
“id”:“1”,
“html_值”:”
}
不同于

{
    "id": "1",
    "html_value": "<a href=\"http://www.google.com\">test link returnin
 html code</a>"
}
{
“id”:“1”,
“html_值”:”
}
由于CLRF字符,您应该将服务器端的字符替换为
;或

希望这有帮助,
Alex

如果您使用的是PHP json_encode,那么它会为您带来以下好处:

$htmlSnippet = '<a href="#"></foo>';
return json_encode(array("html" => $htmlSnippet));

$htmlSnippet=”

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

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

json_encode(array('data1' => 'String data with text',
              'data2' => '<a href="www.stackoverflow.com">The Site</a>'));
此外,如果您使用特殊字符(如意大利语中的è和è),我建议解码返回的json UTF8编码的HTML。如果您需要在HTML页面中使用它(例如,作为AJAX调用的结果),这尤其有用。要通过Javascript解码,请使用:

其中
html
是返回的编码html代码


问候。

a\b\c怎么样,都好吗?
$htmlSnippet = '<a href="#"></foo>';
return json_encode(array("html" => $htmlSnippet));
json_encode(array('data1' => 'String data with text',
              'data2' => '<a href="www.stackoverflow.com">The Site</a>'));
json_encode(array(utf8_encode('data1') => utf8_encode('String data with text'),
              utf8_encode('data2') => utf8_encode('<a href="www.stackoverflow.com">The Site</a>')));
decodeURIComponent(escape(html));