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

Nin*_*Boy 5 java ajax jquery

我在这里遇到了问题.当我使用ajax将包含"+"的参数传递给我的控制器时,它将被空格替换.

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

请帮忙.提前致谢.

com*_*pid 10

在某些GETPOST请求中(最有可能在URL中或通过表单),空格在传递到服务器之前被编码为"+"(加号)符号.如果你做了正常的GET请求,你会看到这种行为- 你会看到类似的东西google.com?q=test+example如果你想通过ajax GET/POST请求传递一个加号,你需要"urlencode"它.对于URL编码值+%2B.

另请注意:

可以使用javascript encodeURIComponent()函数,如下所述:

AJAX POST和Plus Sign(+) - 如何编码?