繁体   English   中英

通过邮件发送jQuery变量

[英]Send jQuery variable by mail

我有一个jQuery变量,其中包含HTML和表单中的值。 我想使用带有@mail的单独php文件通过电子邮件发送它。

我正在尝试使用表单提交中的jQuery $.ajax函数发送此变量,但是它没有将变量发送到php文件,因此,没有发送电子邮件。

这是我的代码

jQuery的:

$('form').submit(function(){
    var foo = '<p>Some message</p>';
    $.ajax({
        url: '/send.php',
        type: 'post', 
        data: {foo : foo},
        success: function() { 
            alert('email sent!');
        }
    });
    return false;
});

send.php:

<?php

    $email_to = "XXX";
    $email_from = "YYY";
    $email_message = $_POST["foo"];
    $email_subject = "[Email subject]";
    $headers = 'From: '.$email_from."\r\n".
    'Reply-To: '.$email_from."\r\n" .
    'X-Mailer: PHP/' . phpversion();

    @mail($email_to, $email_subject, $email_message, $headers);  
?>

我试图在send.php中echo显foo变量并删除return false; 在jQuery中,但是变量似乎没有传递到文件,并且什么也没有显示。

我究竟做错了什么?

您的代码还可以! 我们假设您的PHP Web服务器正在运行,所以2个唯一可能的错误是:

url: '/send.php'

您确定send.php在您域的根目录中吗? 喜欢

http://localhost/send.php 

第二种可能性是,您之前遇到过JavaScript致命错误,因此您的ajax行将永远不会被读取...

如何调试?

1-发布表单时页面是否刷新? 如果是,则存在先前的错误,可以防止返回false; 待阅读

2-您可以在大多数浏览器中按F12键来打开开发人员工具,在这种情况下,您需要的是“网络面板”:只需在此面板打开的情况下尝试代码,然后看那里发生了什么... 404错误代码表示“我找不到send.php!”。

字段获取404,因为http://fiddle.jshell.net/send.php不存在。

试试这个为您工作。

<html>
   <body>  
        <form method="post" class="mailform" onsubmit="return false;">
            <input type="submit" value="submit"/>
        </form>
        <script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
        <script>
            $(document).on('submit','form',function()
            {
                var foo = '<p>Some message</p>';
                $.ajax({
                    url: 'send.php',
                    type: 'post', 
                    data: {'foo' : foo},
                    success: function() { 
                        alert('email sent!');
                    }
                });
                return false;
            });
        </script>
   </body>
</html>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM