我这里有问题。当我使用 ajax 将包含“+”的参数传递给我的 Controller 时,它被替换为空格。
例如,我将使用 ajax 传递 value = Tom+Jerry+Garfield
。当我在 Controller 中使用 System.out.println() 时,它会显示 Tom Jerry Garfield
。我尝试使用其他特殊字符,我似乎没有问题。
请帮忙。提前致谢。
最佳答案
在某些 GET
和 POST
请求中(最有可能在 URL 中或通过表单),空格在它们被编码之前被编码为“+”(加号)符号传递给服务器。如果您执行正常的 GET
请求,您会看到此行为 - 您会看到类似 google.com?q=test+example
如果您想通过ajax GET/POST 请求,您需要对其进行“urlencode”。 +
的 URL 编码值为 %2B
。
另请注意:
可以使用 javascript encodeURIComponent() 函数,如回答:
关于java - ajax - 为什么 jquery 将 "+"替换为空格 ("")?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11447391/