通过Ajax发送js多个数据到电子邮件
问题描述:
我需要发送多个数据作为数组并通过Ajax将输入值形式发送到电子邮件。这段代码有什么问题?该阵列不回电子邮件,猜测什么是错的PHP文件 *** HTML:通过Ajax发送js多个数据到电子邮件
<form id="form-order">
First name:<br>
<input type="text" name="firstname">
<input type="tel" name="phonenumber">
<input type="submit" value="Submit">
</form>
*** JS:
$.ajax({
type: "POST",
data: {mydata: JSON.stringify(MyObjects)},
url: "index.php",
success: function(data){
}
});
var array = [{count:1,image:"images/1.jpg",name:"Bouquet 1",price:49},{count:5,image:"images/1.jpg",name:"Bouquet 9",price:77}];
$("#form-order").submit(function() {
var order_data = cart;
$.ajax({
type: "POST",
url: "../order.php",
data: {form: form_data,
order:JSON.stringify(order_data)},
success: function() {
console.log('OK');
});
});
*** PHP:
$to = "[email protected]";
$message = '
<html>
<head>
</head>
<body>
<p>Name: '.$_POST['first name'].'</p>
<p>Phone: '.$_POST['phone number'].'</p>
$someArray;
$extradata = json_decode($_POST['order'], true);
foreach ($extradata as $key => $value) {
$someArray .= "<p>".$value["image"] . ", " .
$value["name"] . "</p>";
</body>
</html>';
答
对于您的PHP代码段,您应该更好地截断这些部分,以便更好地支持编辑并更轻松地阅读它,例如....请注意,这只是一个方向,它不是工作解决方案。
/* Defintions */
$to = "[email protected]";
$extradata = json_decode($_POST['order'],true);
/* HTML Structure */
$head = "
<html>
<head>
</head>
<body>
";
$footer = "
</body>
</html>';
";
/* Content */
$content = "";
$content .= "<p>Name:".$_POST['first name']."</p>";
$content .= "<p>Name:".$_POST['phone number']."</p>";
foreach($extradata as $key => $value)
{
$content .= "<p>".$key."=".$value['image']."</p>";
}
$htmlEmail = $head.$content.$footer;
+0
非常感谢! –
你必须解码字符串化的内容,因为其他明智的你将无法迭代通过你发送到你的PHP脚本的数组。 看看json_decode()函数从PHP,你会知道,你必须做什么。 – rebru
也显示你的其他表格。 –
@rebru你可以看看,我已经添加了json_decode()到php。现在是否正确?谢谢 –