我如何调用PHP邮件()函数在我的JS


How do I call the PHP mail() function in my JS?

我有一个难题。我已经为我正在建设的网站创建了这个订单请求页面,下面是它的工作原理:

  1. 您选中/取消选中核心项,并根据它的状态(活动或不活动),它将对相应order.js中的布尔值应用true/false值。同样,它将获取其他项目所需的单位计数和您的信息,并将它们应用到变量中。
  2. 它将这些变量分组到数组中,现在,console.log()它们。

麻烦来了…这是order.js文件的一个片段。

function compileInfo() {
    console.log("compileInfo active");
    var name = "Name: " + $("#name").val() + "'n";
    var email = "Email: " + $("#email").val() + "'n";
    var phone = "Phone: " + $("#phone").val() + "'n";
    var weddingDate = "Wedding Date: " + $("#date").val() + "'n";
    var comments = "Comments: " + $("#comments").val() + "'n";
    var base = "Base Experience: " + $("#base").hasClass("active") + "'n";
    var special = "Special Edition: " + $("#special").hasClass("active") + "'n";
    var teaser = "Teaser Trailer: " + $("#teaser").hasClass("active") + "'n";
    var raw = "Raw Footage: " + $("#raw").hasClass("active") + "'n";
    var standard = "Standard Shipping: " + $("#standard").hasClass("active") + "'n";
    var expedited = "Expedited Shipping: " + $("#expedited").hasClass("active") + "'n";
    var dvd = "Standard DVD: " + a + "'n";
    var br = "Standard Blu-Ray: " + b + "'n";
    var dvdSe = "Special DVD: " + x + "'n";
    var brSe = "Special Blu-Ray: " + y + "'n";
    var info = new Array();
        info[0] = name;
        info[1] = email;
        info[2] = phone;
        info[3] = weddingDate;
        info[4] = comments;
    var services = new Array();
        services[0] = base;
        services[1] = special;
        services[2] = teaser;
        services[3] = raw;
    var delivery = new Array();
        delivery[0] = standard;
        delivery[1] = expedited;
    var extras = new Array();
        extras[0] = dvd;
        extras[1] = br;
        extras[2] = dvdSe;
        extras[3] = brSe;
    var dataVar = info + "'n" + services + "'n" + delivery + "'n" + extras;
    var dataVarJSON = JSON.stringify(dataVar);
    console.log(dataVar);
    $.ajax({
        type: "POST",
        url: "order.php",
        data: {data : dataVarJSON},
        success: function() {
            console.log("SUCCESS");
        }
    });
}
function validate() {
    var name = $("#name").val();
    var email = $("#email").val();
    var weddingDate = $("#date").val();
    if (name === "" || email == "" || weddingDate == "") {
        alert("You must complete all required fields to send this request.");
    } else {
        console.log("working");
        compileInfo();
        return true;
    }
}

这是我收到的PHP:

<?php
    header('content-type: application/json; charset=utf-8');
    header("access-control-allow-origin: *");
    $body = json_decode(stripslashes($_POST['data']));
    $to = "thekevinhaube@gmail.com";
    $subject = "Order Request";
    function sendInfo() {
        mail($to, $subject, $body);
    }
 ?>

现在,我远不是一个PHP专家。事实上,这是我第一次接触它。我怎样才能把它寄出去。似乎POST只是很好,但不是发送到列出的电子邮件地址。任何和所有的帮助是感激的!同样,这是我第一次使用PHP,所以…

你需要给sendInfo一些参数:

function sendInfo($to, $subject, $body) {
  ...
}

不要在本地主机上尝试mail(),如果可能的话,在线尝试。