php post数据总是空的

时间:2013-08-20 20:10:54

标签: php jquery email

我正在尝试使用jquery和php向自己发送电子邮件 我希望消息的内容由jquery决定 这是我的发送代码

$.ajax({
                    url: 'http://mywebpage.com/email.php',
                    type: 'POST',
                    contentType: 'application/json; charset=utf-8',
                    data:'test',
                    dataType: "text",
                    success: function(data){
                    console.log(data);
                        console.log("IT WORKED");
                    },
                    failure: function(result){
                        console.log("FAILED");
                        console.log(result);
                    }
                });

这是我的PHP脚本

<?php
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: POST, GET, OPTIONS');
header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept");
$to = "myemail@gmail.com";
$subject = "Test mail";
$message = $_POST["data"];
echo var_dump($_POST);
echo $message;
$from = "someonelse@example.com";
$headers = "From:" . $from;
mail($to,$subject,$message,$headers);
echo "Mail Sent.";
?>

电子邮件已发送,但$ _POST [“数据”]始终返回空白 该怎么办?

2 个答案:

答案 0 :(得分:0)

data应为以下格式或查询字符串。

$.ajax({
    url: 'http://mywebpage.com/email.php',
    type: 'POST',
    data: {
        data: 'test'
    },
    ...
});

答案 1 :(得分:0)

您以错误的方式发送数据。请参阅下面的内容

 data: { data: "test" }

然后您将能够使用$ _POST ['data']

进行访问

由于