我正在尝试通过电子邮件发送从网页收集的字符串,但是我没有运气。有关制作jQuery表单的大量信息,但找不到任何只是通过电子邮件发送字符串的信息。
这是我到目前为止所做的:
$('.questionFive').click(function(){
$.post("mail.php", preSubmit())
});
// this works well, and returns the string as desired.
function preSubmit(){
var optionTexts = [];
$("section").each(function(){
var h2 = $(this).find("h2").text();
optionTexts.push(h2);
$("ol li", this).each(function() { optionTexts.push($(this).text()) });
optionTexts.push("\n");
});
var optionString = optionTexts.toString();
var splitText = optionString.split(",");
alert(splitText);
return splitText;
}
// mail.php file
<?php
if (isset($_POST['mailstring']) {
$mail = $_POST['mailstring'];
mail('me@email.com', 'My Subject', $mail);
}
?>
答案 0 :(得分:2)
您正在发送一个字符串作为POST数据,但您的PHP脚本需要一个键/值对。如果您查看$.post()
的jQuery docs,您将看到必须将对象作为data
参数传递:
$.post("mail.php", {
foo: "bar",
abc: true
});
答案 1 :(得分:0)
将preSubmit功能的返回值更改为
return {"mailstring":splitText};