我被告知在将它们输入数据库之前转义HTML字符是一个坏主意,所以我一直在修改我的代码,以便原始输入存储而不会转义。现在我在将数据输出到网页时遇到问题。
在PHP中,我使用htmlentities()作为我的输出,它工作正常,但我使用AJAX来检索我的数据,因此必须使用JavaScript输出。
我尝试在JS中使用escape()函数,但我的输出没有正确输出。我用来测试的示例文本是:
一,二,和3
我知道它是&符号导致问题所以我的第一个问题是 - 如何使用JS来逃避输出?当我删除它时,我明白了:
一,20%,两个,%20three
...所以我的第二个问题是,我在这里做错了什么?
有什么想法吗?我相信这对你们很多人来说很简单。
答案 0 :(得分:2)
(因为它似乎对你有帮助,我会把它作为一个正确的答案)
如果您使用Ajax,仍然可以使用htmlentities()
。只需将它用于服务器上生成的响应,就像返回HTML一样。没有区别。