通过电子邮件发送使用jQuery收集的字符串

时间:2013-06-12 14:19:30

标签: php jquery string post

我正在尝试通过电子邮件发送从网页收集的字符串,但是我没有运气。有关制作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);
}
?>

2 个答案:

答案 0 :(得分:2)

您正在发送一个字符串作为POST数据,但您的PHP脚本需要一个键/值对。如果您查看$.post()的jQuery docs,您将看到必须将对象作为data参数传递:

$.post("mail.php", {
    foo: "bar",
    abc: true
});

答案 1 :(得分:0)

将preSubmit功能的返回值更改为

return {"mailstring":splitText};