【发布时间】:2011-06-30 15:00:30
【问题描述】:
我的应用程序使用 ajax POST 请求将数据从 javascript 发送到我的 servlet,并且该数据也包含特殊字符。我在对数据执行 javascript escape() 后发送此数据,因为我的内容也可以包含 URL。
问题是我在我的 servlet 端没有得到正确的数据,我怀疑是 escape 造成了这个问题。
我尝试在我的 javascript 代码中进行以下操作:
alert(escape("»"));
alert(unescape(escape("»")));
alert(encodeURI("»"));
alert(decodeURI(encodeURI("»")));
alert(encodeURIComponent("»"));
alert(decodeURIComponent(encodeURIComponent("»")));
当我对转义字符串进行转义时,我没有得到正确的警报,从代码中可以看出,我也尝试过使用 encodeURI、encodeURIComponent 及其各自的解码方法。
我应该如何从 javascript 发送数据,以便正确接收所有特殊字符和内容的其他部分(如 URL)。
【问题讨论】:
-
所有这些示例都非常适合我。你在警报中得到了什么?
-
@Pointy 很遗憾,我没有在单独的 .html 文件中对其进行测试,它在那里工作正常,但是当我从我的应用程序中尝试它时,它显示
»。关于可能是什么问题的任何想法?我的 jsp 使用 :<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>但是单独的 .html 文件在这种编码下工作正常。 -
我又不好了,这个字符集编码是问题所在,我不知道为什么我试图将 jsp 指令放在 html 上 :(.
标签: javascript ajax escaping