8

如何通过ajax post将包含'%'和'&'等字符的大字符串传递到我的php页面?

换句话说,如何对它们进行 javascript 编码和 php 解码?

4

3 回答 3

20

encodeURIComponent()JavaScript 函数可用于转义键或值中的任何这些字符。

PHP 会自动接收并解码到$_POST数组中。

数据的格式应该是Query String格式,具体为:

Content-Type: application/x-www-form-urlencoded

例如:

Name=Joe&Age=23&City=Altoona

如果您encodeURIComponent()在每个键和每个值上使用,然后将它们加入=,并按 分组&,您将不会有任何进一步的问题。

于 2009-12-23T18:28:18.053 回答
2

要在 javascript 中对它们进行编码,请使用 encodeUri 和 encodeUriComponent

http://www.w3schools.com/jsref/jsref_encodeURIComponent.asp


PHP解码:

http://php.net/manual/en/function.urldecode.php

于 2009-12-23T18:27:34.113 回答
1

如果您在 XMLHttpRequest 的发送方法中使用 POST 参数,您实际上不需要编码或解码某些东西。只有 GET 需要这样和编码,因为它使用 URI 字段。在 SQL 请求中使用此数据时应小心。小心注射。

于 2009-12-23T18:31:35.673 回答