尝试传递空格以及ajax调用。
'word'的传递方式与'word'相同。我相信。
另一方面,需要通过电话完全发送两个字。
'word second'但不一样 '第二个字'
我应该在通话前修剪还是在服务器端脚本上执行此操作? 我怎样才能发送空格?
答案 0 :(得分:4)
要允许参数包含空格等,您需要使用javascript escape()
[W3Schools]函数。
escape( 'hello world ' ) = 'hello%20world%20';
PHP端的处理将自动解码/取消该参数,恢复空格(以及通过AJAX发送时不能作为参数值的一部分的任何其他字符,例如“=”或“&”。
在PHP中,如果您想要删除任何前导或尾随空格,可以使用PHP trim()
[PHP.net]函数。
trim( 'hello world ' ) = 'hello world';
答案 1 :(得分:1)
我知道这是一个老问题,但我想指出,接受的答案是建议从JavaScript 1.5版开始弃用的函数。
相反,您应该使用encodeURI()或encodeURIComponent()来发送空格和其他特殊字符。
var param = encodeURIComponent("word second ");
console.log(param); // outputs 'word%20second%20'
另一端的PHP将自动处理解码。这使您可以自由地修剪最实用的空间。如果它在技术上并不重要,我会使用trim()
函数修剪JavaScript代码中的空格,因为它可以节省一点点网络带宽,并通过修剪客户端来略微减轻服务器负载。
答案 2 :(得分:0)
我认为最简单的方法是在发送xmlhttprequest之前在javascript中 encodeURIComponent 字符串,然后 urldecode 它在PHP中