无法在ajax中获得响应

时间:2019-05-13 15:52:39

标签: php jquery ajax

我正在尝试获得Ajax响应。但是我的代码没有显示任何警报。这是我的ajax代码。我的表单ID为 contact_form ,提交按钮ID为 submit_btn

$(document).ready(function(){


  $('#contact_form').on('submit', function(e){ 


       var form= $("#contact_form").val(); 
         $.ajax({
                type      : 'POST',
                url       : 'email.php', 
                data      : form.serialize(), 
                dataType  : 'json',
                success: function (response) {
                   alert(response);                

                },
                error: function(jqXHR, textStatus, errorThrown) {
                   //console.log(textStatus, errorThrown);
                }


        });

         e.preventDefault();

   });

});

我的email.php

<?php

   echo "ok";

?>

1 个答案:

答案 0 :(得分:0)

我认为您的问题是因为您试图以错误的方式使用serialize方法。

.serialize()方法将处理所选目标表单内的所有字段。在原始代码中,您已经使用.val()方法来获取表单的值,但这将不起作用,因为该方法旨在用于单个表单元素,并且无法处理整个表单。

以这种方式更改代码:

$(document).ready(function(){


  $('#contact_form').on('submit', function(e){ 
    e.preventDefault();   
    var form = $("#contact_form"); 
         $.ajax({
                type      : 'POST',
                url       : 'email.php', 
                data      : form.serialize(), 
                success: function (response) {
                   alert(response);                
                },
                error: function(jqXHR, textStatus, errorThrown) {
                   console.log(textStatus, errorThrown);
                }
        });
   });
});