【发布时间】:2018-04-18 08:20:22
【问题描述】:
我在 php 模板中有一个很长的表单,所有数据都通过 jquery ajax 以serialize 模式发送到 php 页面以发送电子邮件。
我有这个问题:我如何unserialize php页面中的数据,并通过电子邮件发送?
php 模板是用不同的数据完成的。所以我不能用这种方式对每个字段进行urldecode $nome = urldecode($_POST['nome']);
我必须想办法让所有数据到达 php 页面并通过电子邮件发送。我读到了parse_str 但我不知道它是否可以工作以及如何使用它。
目前这是我的 ajax 代码:
var datiform = $("#FormWorkspace").serialize();
$.ajax({
type: "POST",
url: ".../form-cf/engine.php",
data: datiform,
dataType: "html",
success: function(datiform)
{
alert("success" + datiform);
},
error: function()
{
alert("no success " + datiform);
}
});
【问题讨论】:
-
你会像这样使用 parse_str:
parse_str($_POST['data'], $myPostVar)然后你可以像$_POST-$myPostVar['name']一样使用$myPostVar -
谢谢@ThisGuyHasTwoThumbs 这样我必须为每个字段写
$myPostVar['name']?我可以循环自动生成数据吗? -
首先你做,@ThisGuyHasTwoThumbs 说的。正如我链接的答案一样。然后你做
foreach ($myPostVar as $item) { /*Do what you want in your email.*/}。 php.net/manual/en/control-structures.foreach.php.
标签: javascript php jquery ajax forms