Php 使用json_解码检索电子邮件的ajax发送javascript数组

Php 使用json_解码检索电子邮件的ajax发送javascript数组,php,javascript,ajax,json,Php,Javascript,Ajax,Json,我试图通过使用JSON.stringify进行编码,然后在PHP中进行解码,从而通过电子邮件发送JS数组的内容。我收到一个成功警报,数据已发送到PHP,但电子邮件无法通过。请问有谁能发现明显的我遗漏/出错的地方吗 数组是通过.push函数填充的,我可以在HTML中输出,所以我知道它已填充 使用ajax对我的数据字符串进行编码: dataString = myArray; var jsonString = JSON.stringify(dataString); $.ajax({ t

我试图通过使用JSON.stringify进行编码,然后在PHP中进行解码,从而通过电子邮件发送JS数组的内容。我收到一个成功警报,数据已发送到PHP,但电子邮件无法通过。请问有谁能发现明显的我遗漏/出错的地方吗

数组是通过.push函数填充的,我可以在HTML中输出,所以我知道它已填充

使用ajax对我的数据字符串进行编码:

dataString = myArray; 

var jsonString = JSON.stringify(dataString);

 $.ajax({
    type: "POST",
    url: "script.php",
    data: {data : jsonString}, 
    cache: false,

    success: function(){
       alert("Success");
    }
});
然后在PHP中:

<?php
$data = json_decode(stripslashes($_POST['data']));

$to = "my@email.com";
$header = "Content-Type: text/html\r\nReply-To";
$subject = "This is my Subject Line";

$body = 
    @"
    <strong>The data is:</strong> $data
    ";


    if(mail($to, $subject, $body, $header)) {
        die("true");    
        } else {
            die("There was an error sending the email.");   
        }
?>


电子邮件根本没有通过,我也没有收到任何错误消息。有人能帮忙吗?谢谢

首先,不能直接将$data数组转换为字符串


您必须使用print_r($data,true)将数组的内容插入字符串中

您在PHP机器中有邮件服务器吗


mail()
如果邮件被接受发送,则返回true,但这并不意味着它已发送。

可能您没有邮件服务器

你可以快速做的是,转到这个链接

下载该工具。按照步骤运行它

然后把你的代码改成这个,看看你能做什么

<?php
$data = json_decode(stripslashes($_POST['data']));

$to = "abc@gmail.com";
$header = "Content-Type: text/html\r\nReply-To";
$subject = "This is my Subject Line";

$body = 
@"
<strong>The data is:</strong> 
".print_r($data, true) ;


if(mail($to, $subject, $body, $header)) {
    die("true");    
    } else {
        die("There was an error sending the email.");   
    }
?>

我认为你会得到价值,但你将如何使用它,这是你的选择


干杯。

是的,服务器应该设置正确,因为我以前通过PHP发送过电子邮件!你的节目在哪里结束?在
die(“true”)
或在第二个
die()
?我认为您没有正确配置它。你应该在本地收到邮件。您可以在本地存储(配置的文件夹)中进行检查。