jQuery流程表单

这是一个非常简单的问题(我希望),但只是倾向于/掌握jQuery我提前道歉。

如果我有一个表格,例如

然后像这样通过jQuery发送它

 $.post("process.php", $("#form").serialize()); 

如何访问数据以处理process.php上的信息? 即通过简单的PHP插入查询(我可以编写PHP!),我该如何访问序列化数据。 还有一种方法可以将所有数据(来自3个字段)作为i变量发送 – 我认为这是JSON吗?如果是这样的话,当我调用数据库显示它时,如何重新处理该信息。

我对大多数事情都有很好的把握,所以你不需要过于简单化,但只是一些通用指针会有所帮助。 谢谢

在process.php中,数据已经可以在$ _POST超全局中反序列化。

JSON是另一种最适合将PHP响应发送回javascript的序列化forms。

因此,在您的情况下,例如,process.php读取$ _POST,以某种方式处理结果,然后您可以格式化脚本返回数组中的值,使用json_encode()和die($ json_encoded_variable_here)将其返回到jquery。

在jquery中,您可以为函数添加回调:

 $.post("process.php", $("#form").serialize(), function(json){ // the variable json is the JSON died() by php and can be easily parsed by jquery }, 'json'); 

您是否考虑过简单地更改表单标记的操作和方法属性, 然后提交?

 $("#form").attr("action", "process.php").attr("method", "post").submit(); 

话虽如此,如果你这样做,要小心。 直接从jQuery调用submit()时,不会运行onSubmit(如果有的话)。 你必须找到它并自己运行它。