0

我设计了一个 JSON 对象,用作将 AJAX 响应发送回我的 Web 应用程序客户端的格式。我正在通过将html代码放入其中来增强它。但是由于我缺乏关于该主题的精确知识和经验,所需的字符转义让我感到相当不舒服。

我使用 Python/Django 作为我的服务器端语言/框架。为了从 Python 字符串文字到浏览器使用的适当 HTML 节点,我对字符转义的模糊知识,我想我需要两个阶段的字符转义:

  1. 将 Python 字符串文字序列化为 JSON,并根据 JSON 的要求对字符进行转义。
  2. 在客户端收到 JSON 对象后,按照 HTML 的要求对字符进行转义。请注意,我使用 jQuery。

我对上述两个阶段的看法是否正确?如果是这样,我怎样才能实现它们?

如果你用一个例子来解释更容易。这是一个:

s = '<a href="http://www.foo.com/bar/">"Click Here&Here"</a>'

其中s是 Python 字符串文字。我想看到它变成

<a href="http://www.foo.com/bar/">"Click Here&amp;Here"</a>

在 HTML 中。

4

1 回答 1

2

你需要在客户端逃避它吗?您可以在将其编码为 JSON 之前在 Python 中执行此操作:

from cgi import escape
from json import dumps

ajax_response = dumps(escape('<a href="http://www.example.com/path/location'
                             '?query=string&more=this#anchor">'
                             'FooBar & Friends</a>'))
于 2012-04-17T19:36:02.197 回答