2

我正在编写一个基于 PHP-javascript-AJAX 的应用程序,它使用 POST 方法将 AJAX 中的表单作为同步请求发送到 php 脚本。

我在发送之前在每个数据上使用了javascript中的encodeURIComponent()函数,然后在表单中构建正确的表单请求

encodedname1=encodedvalue1&encodedname2=encodedvalue2 - - - and so on

当我通过 $_POST['encodedname1'] 在服务器端取回该数据时,我得到的数据已经解码,我不需要使用 urldecode()。我在这个论坛和其他论坛上看到了很多关于如何解码数据的问题,我想知道如果 php 获取数据已经解码,为什么人们会问这样一个问题(正如这里的另一篇文章所证实的那样:AJAX POST 和加号(+) - - 如何编码?)。这个问题有什么我想念或不知道的关键吗?

另外,如果我在 POST 请求中传递一些未编码的字符,我将其用作数据集之间的分隔符,比如“#”,会发生什么?接收到的数据可能已损坏,和/或“#”分隔符丢失?它有安全问题吗?例子:

a11=v11&a12=v12#a21=v21&a22=v22- - - and so on

详细信息:在我的所有文件(.php、.html、.js)中,所有字符集都是没有 BOM 的 UTF-8

4

0 回答 0