发送带有对象的数组到php

时间:2017-07-06 11:01:27

标签: php jquery arrays ajax

我在这里尝试了很多选项来将数据从jQuery发送到php但是没有成功,我正在尝试发送像这样的对象数组:

$.ajax({
            type: "POST",
            contentType: 'application/json',
            url: "sendCartDetails.php",
            data: {
                'details': prod
            }
    });

prod有这种结构:

prod: [{name: 'Some Name'}, {name: 'Other Name'}]

和我的php文件:

$data = json_decode($_POST['details']);

$to = "email@email.com";
$subject = "New Order";
$headers = "From: Some ";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
$message = '<html><body>';
$message .= '<table rules="all" style="border-color: #666;" cellpadding="10">';
$message .= "<tr style='background: #eee;'><td><strong>Name:</strong> </td><td>" . $data . "</td></tr>"
$message .= "</table>";
$message .= "</body></html>";

mail($to,$subject,$message,$headers);

和这里的数据未定义在尝试发送时也有500(内部服务器错误)。如何在这里正确获取数据?非常感谢

3 个答案:

答案 0 :(得分:0)

尝试刺激:[{&#34; name&#34;:&#34; Some Name&#34;},{&#34; name&#34;:&#34;其他名称&#34;}] < / p>

答案 1 :(得分:0)

除非您使用第三方电子邮件解决方案,否则无法从localhost(您的本地系统)发送电子邮件 这条线: 邮件($到,$主题,$消息,$头); 将在服务器上工作,但在本地计算机上,它将导致500服务器错误

答案 2 :(得分:0)

我认为您的问题的解决方案在于服务器端,而不是客户端。您也应该正确地将数据发送到服务器(如下所示):

:target {
  visibility: visible;
  opacity: 1;
}

检查是否正确发送了数据,您可以在浏览器的开发工具中执行此操作(大多数是关键F12)并查看网络选项卡。

之后,我建议您尝试调试PHP代码,例如

data: {
    'details': JSON.Stringify(prod)
}

开始编写脚本。如果这转向未定义的索引通知,则发送/接收数据存在问题。