【发布时间】:2014-03-12 00:49:00
【问题描述】:
我有一个难题。我已经为我正在构建的网站创建了这个订单请求页面,它是这样工作的:
- 您选中/取消选中核心项目,并根据其状态(活动或非活动),将真/假值应用于对应的
order.js中的布尔值。同样,它会为其他项目和您的信息获取所需的单位计数,并将它们应用于变量。 - 它将这些变量分组到数组中,现在,
console.log()它们。
问题来了……这是 order.js 文件的 sn-p。
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? -
您可能不想在您的
POST变量上使用stripslashes(),因为这会弄乱您的json,导致$body变成NULL。哦,你的未调用函数中存在变量范围问题。 -
我不确定如何调用 sendInfo 函数,但我现在意识到这是我遇到的一个问题。
标签: javascript php jquery html ajax