Php jQuery/Ajax联系人表单不工作

Php jQuery/Ajax联系人表单不工作,php,jquery,ajax,Php,Jquery,Ajax,我不熟悉jQuery。我正在尝试提交一份联系表,并在屏幕上显示一条感谢信息以获取反馈。我在NetTuts+上看了教程。我的表格没有提交。这是我的密码: jQuery <script src="jquery.js"></script> <script> $(document).ready(function() { $('.error').hide(); $("#submitButton").click(function()

我不熟悉jQuery。我正在尝试提交一份联系表,并在屏幕上显示一条感谢信息以获取反馈。我在NetTuts+上看了教程。我的表格没有提交。这是我的密码:

jQuery

<script src="jquery.js"></script>
<script>
    $(document).ready(function() {
        $('.error').hide();
        $("#submitButton").click(function() {
            $('.error').hide();  
            var name = $("input#name").val();  
            if (name == "") {  
                $("label#name_error").show();  
                $("input#name").focus();  
                return false;  
            }  
            var email = $("input#email").val();  
            if (email == "") {  
                $("label#email_error").show();  
                $("input#email").focus();  
                return false;  
            }  
            var companyName = $("#usermessage").val();  
            if (companyName == "") {  
                $("label#message_error").show();  
                $("input#usermessage").focus();  
                return false;  
            } 
            var subject=$("#subject option:selected").text();
            var dataString = 'name='+ name + '&email=' + email + '&message=' + companyName;  
            //alert (dataString);return false;  
            $.ajax({  
                type: "POST",  
                url: "mailer.php",  
                data: dataString,  
                success: function() {  
                    $('#contact_form').html("<div id='message'></div>");  
                    $('#message').html("<h2>Contact Form Submitted!</h2>")  
                        .append("<p>We will be in touch soon.</p>")  
                        .hide()  
                        .fadeIn(1500, function() {  
                            $('#message').append("Thank you");  
                        });  
                }  
            });  
            return false; 
        }); 
    });
</script> 

$(文档).ready(函数(){
$('.error').hide();
$(“#提交按钮”)。单击(函数(){
$('.error').hide();
变量名称=$(“输入名称”).val();
如果(名称==“”){
$(“label#name_error”).show();
$(“输入#名称”).focus();
返回false;
}  
var email=$(“输入电子邮件”).val();
如果(电子邮件==“”){
$(“label#email_error”).show();
$(“输入电子邮件”).focus();
返回false;
}  
var companyName=$(“#usermessage”).val();
如果(公司名称==“”){
$(“label#message_error”).show();
$(“输入#用户消息”).focus();
返回false;
} 
var subject=$(“#subject选项:选中”).text();
var dataString='name='+name+'&email='+email+'&message='+companyName;
//警报(数据字符串);返回false;
$.ajax({
类型:“POST”,
url:“mailer.php”,
数据:dataString,
成功:函数(){
$(“#联系方式”).html(“”);
$('#message').html(“已提交联系人表单!”)
.append(“我们将很快联系。

”) .hide() .fadeIn(1500,函数(){ $('#message')。附加(“谢谢”); }); } }); 返回false; }); });

PHP


问题是,按下提交按钮时,什么也不会发生。javascript控制台上没有错误。 我认为我的php不正确,没有监听Ajax数据,正如apache的错误日志所说的
php注意:未定义索引:dataString

我哪里做错了? 谢谢


编辑:我正在ubuntu机器上的localhost上运行此功能,我已设置邮件服务器并使用测试电子邮件对其进行了测试

您应该尝试以下操作:

$.post("mailer.php", { name: "John", email: "jsmith@xyz.com" } );

如果我们也能看到您的表单代码,那将非常有用。我在这里编写了一个教程:


您可以下载这些文件,并将它们与您提出的内容进行比较。通读一遍,如果您对任何东西的工作原理有任何疑问,请告诉我,我会为您指出正确的方向

如果您进入Chrome->Network并单击“提交”,您应该会看到和HTTP请求。表单是否正确地将数据传递给服务器?在ajax调用中设置为数据的url中不存在post HTML表单codedataString。@在步骤4中,它没有说明任何有关datastringHey的内容…感谢链接。。。但是我最终使用了json方法。让我知道如果你被什么卡住了我还是被Ajax卡住了嘿…谢谢你的链接。。。但我最终还是使用了这个版本中的json方法
$.post("mailer.php", { name: "John", email: "jsmith@xyz.com" } );