AJAX Form Post无效

时间:2014-04-19 21:40:15

标签: php jquery ajax

我尝试了至少3种方法,每次尝试使用ajax发布表单时,页面总是重新加载而且没有提交任何内容。

它甚至没有返回成功或错误 - 似乎甚至没有调用该函数。

这是代码,提前谢谢。

HTML:

<form id='sig_up' name='sig_up' style='min-width:170px'>
    <textarea id='sig' class='custom-scroll' style='max-height:180px;'></textarea>
    <br>
    <input class='btn btn-primary btn-sm' type='submit' /> 
</form>

的jQuery / AJAX:

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

        $.ajax({
        url:'update_sig.php',
        data:$(this).serialize(),
        type:'POST',
        success:function(data){
            $.smallBox({
            title : "Signature Updated",
            content : "Your signature has been successfully updated.",
            color : "#296191",
            //timeout: 8000,
            icon : "fa fa-bell swing animated"
        });

        },
        error:function(data){



        }
        });
        e.preventDefault(); //=== To Avoid Page Refresh and Fire the Event "Click"===
});

3 个答案:

答案 0 :(得分:0)

你试过stopImmediatePropagation()吗?

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

        e.preventDefault();
        e.stopImmediatePropagation();

        $.ajax({
            url:   'update_sig.php',
            data:  $(this).serialize(),
            type:  'POST',

            success:function(data){
              console.log("Success");
            },

            error:function(data){
              console.error("Error");
            }
        });
    });

答案 1 :(得分:0)

好吧,要发送它,我会将表单的处理程序附加到文档中(虽然根据文档无关紧要),首先编写preventDefault以避免在任何事情之前发送表单(尽管我尝试了它)最后,结果完全一样,必须复习这个功能)。

所以,我做的另一个重要的事情,我的事情是真正的答案,是形式内部范围的变化。如果您在AJAX中使用$(this),那么您指的是AJAX jquery处理程序,而不是表单,我更改了它以显示它是如何更改的。我还添加了一个错误console.log来检查出于什么问题以防万一。我尝试了下面的代码,它在我的localhost中发送调用。

  $(document).on('submit', '#sig_up', function(e) {
        e.preventDefault();

        var $form = $(this);

        $.ajax({
            url:  'update_sig.php',
            data: $form.serialize(),
            type: 'POST',
            success:function(data){
                console.log('ok');
//              $.smallBox({
//                  title : "Signature Updated",
//                  content : "Your signature has been successfully updated.",
//                  color : "#296191",
//                  //timeout: 8000,
//                  icon : "fa fa-bell swing animated"
//              });
            },
            error:function(data){
                console.log(data);
            }
        });
});

答案 2 :(得分:-1)

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

         e.preventDefault(); //=== To Avoid Page Refresh and Fire the Event "Click"===

         var that = this;

             $.ajax({
             url:'update_sig.php',
             data:$(that).serialize(),
             type:'POST',
             success:function(data){
                 $.smallBox({
                    title : "Signature Updated",
                    content : "Your signature has been successfully updated.",
                    color : "#296191",
                    //timeout: 8000,
                    icon : "fa fa-bell swing animated"
                });
            },
            error:function(data){



           }
        });
    });