通过AJAX提交的表单,返回JSON响应

时间:2012-10-01 18:15:00

标签: php jquery ajax json forms

我已经设置了表单并编写了jquery,但我不知道应该在mail.php中为PHP编写什么。

任何帮助都很棒

HTML:

<form id="contact-form" action="mail.php" method="GET">
   <fieldset>
       <label for="email">Email</label>
       <input type="email" name="email" id="email" required="">
   </fieldset>

   <fieldset>
       <label for="enquiry">Message</label>
       <textarea name="enquiry" id="enquiry" width="100%" height="100px" required=""></textarea>
   </fieldset>

   <fieldset>
        <input type="submit" name="submit" value="Submit Enquiry">
   </fieldset>

</form>

JQUERY:

$(document).ready(function(){

$("#contact-form").submit( function (){
    $.getJSON('mail.php',$(this).serialize(), function(data) { 
        if(data['success'] == 1)
        {
            $('#contact-form').html("<p class=\"success\">"+data['message']+"</p>");
        }
        else
        {
                alert(""+data['message']+"");
                $('#contact-form *').removeClass('error');
                for(key in data.errors)
                {
                    $('#'+key).addClass('error');
                }
        }
    });
    return false;
});

});

PHP:

?

1 个答案:

答案 0 :(得分:1)

在服务器端使用它

parse_str($_GET["data"],$array);

mail($array["email"]);
在jquery中

 $.getJSON('mail.php',{"data":$(this).serialize()}, function(data) { ...

                  or

var data=$("#contact-form").serialize();
$.ajax(
url:'mail.php';
{data:{"data":data},
datatype:"json",
success:(function(data){

   if(data['success'] == 1)
        {
            $('#contact-form').html("<p class=\"success\">"+data['message']+"</p>");
        }
        else
        {
                alert(""+data['message']+"");
                $('#contact-form *').removeClass('error');
                for(key in data.errors)
                {
                    $('#'+key).addClass('error');
                }
        } 
    })
相关问题