如何传递包含'%'和'&'等字符的大字符串 通过ajax发布到我的php页面?
换句话说,如何对它们进行javascript编码并对它们进行php解码?
答案 0 :(得分:18)
encodeURIComponent()
JavaScript函数可用于转义键或值中的任何字符。
PHP将自动接收并解码为$_POST
数组。
数据的格式应为Query String格式,具体为:
Content-Type: application/x-www-form-urlencoded
例如:
Name=Joe&Age=23&City=Altoona
如果您对每个密钥和每个值使用encodeURIComponent()
,请将其与=
一起加入,并按&
对其进行分组,您将不会再遇到任何其他问题。
答案 1 :(得分:2)
要在javascript中对它们进行编码,请使用encodeUri和encodeUriComponent
http://www.w3schools.com/jsref/jsref_encodeURIComponent.asp
PHP解码:
答案 2 :(得分:1)
如果在XMLHttpRequest的send方法中使用POST参数,则实际上不需要对某些内容进行编码或解码。只有GET需要这样和编码,因为它使用URI字段。 在SQL请求中使用此数据时应该小心。注意注射。