通过ajax将表单数据发布到PHP的最佳方式

Arf*_*een 0 php forms ajax jquery json

我只是想知道通过ajax将表单数据发布到PHP脚本的最佳方法是什么.我正在遵循以下3种方法:

  1. 将表单字段分别发布到PHP(并在PHP中像正常一样单独接收它们)

  2. 将表单数据转换为JSON编码数据并在单个POST字段中将其发送到PHP(并在PHP中将其作为具有JSON编码数据的单个POST变量接收)

  3. 将表单数据转换为JSON编码数据,并以PHP接收的方式将其发送到PHP $GLOBALS["HTTP_RAW_POST_DATA"].

我想问一下在安全性和性能方面最好的方法是什么.还有其他更好的方法来完成这个过程吗?我再说一遍,我是通过jQuery AJAX发送的.

mea*_*gar 6

我只是想知道通过ajax将表单数据发布到PHP脚本的最佳方法是什么.

完全停止.jQuery解决了这个特殊问题.使用serialize或serializeArray继续进行更重要的事情.


我想问一下在安全性和性能方面最好的方法是什么.

你的方法都不是"最好"的方法.它们都比简单地使用jQuery已经提供给你的东西更糟糕,并且它们在安全性和性能方面都是空的.安全性和性能与您发布的代码无关,这些概念完全在您尝试执行的操作之外,在完全独立的层上实现.

安全在这里完全无关紧要.您使用的是SSL并且安全,或者您没有使用SSL而且没有安全性.没有中间立场,用于发布数据的方法与安全性完全无关.你的方法都没有比任何其他方法更"安全".

对于性能,涉及较少HTTP请求的版本更好.将这些字段单独发回将会在性能方面变得非常糟糕,我认为无论如何都要以这种方式处理数据是一场噩梦.在这种情况下,一次发布一个表单字段实际上没有任何优势.如果我误解了你并且你在谈论为每个方法使用单个HTTP POST,那么没有任何方法更好.

由于您已使用jQuery标记了此内容,因此请使用jQuery方式:serialize表单并回发序列化数据.你将收到一个正常的发布数据数组$_POST.没有理由做任何其他事情,你只是增加复杂性而没有收获.