javascript - 我的 script.js 和 mail.php 不匹配

标签 javascript php jquery ajax email

我已经束手无策了,希望有人能帮助我。我接替某人并一直尝试通过 ajax POST 发送我的表单,但我一直使用的 mail.php 没有发送,即使我收到 200 OK。我在 conetix 上进行了测试,它已发送,但我一定错过了一些东西。任何帮助是极大的赞赏。这是相关脚本:

     $("#send").click(function(){

                var valid = '';
                var isr = ' is required!</p>';
                var name = $("#name").val();
                var mail = $("#email").val();
                var messaggio = $("#message").val();

                if (name.length<1) {
                    valid += '<p>*Valid name'+isr;
                }
                if (!mail.match(/^([a-z0-9._-]+@[a-z0-9._-]+\.[a-z]{2,4}$)/i)) {
                    valid += '<p>*Valid email address'+isr;
                }

这是我的 php:

<?php

/// Here we get all the information from the fields sent over by the form.
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];

$to = 'xxx@xxx.com';
$subject = 'Contact Us Form Submission';
$message = 'FROM: '.$name.' Email: '.$email.'Message: '.$message;
$headers = 'From: xxx@xxx.com' . "\r\n";


?>

再说一次,任何帮助都会让我不至于流泪。

                if (valid!='') {
                    $("#response").fadeIn("slow");
                    $("#response").html(valid);

                    $('#send').removeClass('normal').addClass('error-button');
                    $('#send').val('');

                    setTimeout(function() {
                        $('#send').removeClass('error-button').addClass('normal');
                        $('#send').val('send');
                        $("#response").fadeOut("slow"); 
                    }, 3000);                         
                }

                else {
                    var datastr ='name=' + name + '&mail=' + mail + '&messaggio=' + encodeURIComponent(messaggio);
                    setTimeout("send('"+datastr+"')",1000, $('#send').val('wait...'));
                }
                return false;
            });

}(jQuery))

        function send(datastr){
            $.ajax({    
                type: "POST",
                url: "phptest.php",
                data: datastr,
                cache: false,

            success: function(html){
                $('#send').removeClass('normal, error-button').addClass('send-email');
                $('#send').val(''); 
            }

            });
        }

最佳答案

您的数据字符串如下所示:

'&mail=' + mail
'&messaggio='

当你的 PHP 抓取这个时:

$_POST['email'];
$_POST['message'];

“邮件”!=“电子邮件”和“消息”!=“消息”

关于javascript - 我的 script.js 和 mail.php 不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34339810/

相关文章:

jquery - 来自 jQuery get 的 JSON 响应引发 "Invalid label"

jquery - 你确定你要删除?

javascript - 如何使用 VideoJS 使元素在全屏模式下可见

javascript - 禁用回车提交

javascript - 单击时显示 symfony 表单

javascript - 发出 ajax Post 请求时出现 403 Forbidden 错误

php - 如何使用$_POST获取通过AJAX和Jquery传递的数据?

php - 传递 PHP 变量时,Javascript 抛出 TypeError、document.getElementById

javascript - 如何将标记添加到 MapBox GL JS map ?

javascript - 显示的摘要中的数据必须使用模式形式提交到数据库