0

我正在尝试通过 php 发送从网页收集的字符串,但是我没有任何运气。很多关于制作 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);
}
?>
4

2 回答 2

2

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

$.post("mail.php", {
    foo: "bar",
    abc: true
});
于 2013-06-12T14:33:25.460 回答
0

将 preSubmit 函数的返回值更改为

return {"mailstring":splitText};
于 2013-06-12T14:33:09.957 回答