java - ajax - 为什么 jquery 将 "+"替换为空格 ("")?

标签 java jquery ajax

我这里有问题。当我使用 ajax 将包含“+”的参数传递给我的 Controller 时,它被替换为空格。

例如,我将使用 ajax 传递 value = Tom+Jerry+Garfield。当我在 Controller 中使用 System.out.println() 时,它会显示 Tom Jerry Garfield。我尝试使用其他特殊字符,我似乎没有问题。

请帮忙。提前致谢。

最佳答案

在某些 GETPOST 请求中(最有可能在 URL 中或通过表单),空格在它们被编码之前被编码为“+”(加号)符号传递给服务器。如果您执行正常的 GET 请求,您会看到此行为 - 您会看到类似 google.com?q=test+example 如果您想通过ajax GET/POST 请求,您需要对其进行“urlencode”。 + 的 URL 编码值为 %2B

另请注意:

可以使用 javascript encodeURIComponent() 函数,如回答:

AJAX POST and Plus Sign ( + ) -- How to Encode?

关于java - ajax - 为什么 jquery 将 "+"替换为空格 ("")?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11447391/

相关文章:

javascript - 如何使用 ajax 将 html 值保存到 MySQL?

javascript - 将数据从 Ajax Post 传递到 Node js

java - 安卓耳机插孔

java - Spring Data MongoDB 聚合与日期和平均值匹配

javascript - 如何将 native Knockout 模板与 KO 外部模板引擎结合使用

jquery - 获取准确的元素高度

Javascript .files[0] 可以在 ie8 ,9 ,10 中使用吗?

Java 夏令时不适用于遥远的过去(更新 : It does)?

java - 为什么添加最终字节会生成一个字节,而添加非最终字节会生成一个 int?

javascript - 我怎样才能得到一个 contenteditable html 元素的光标行号?