代码之家  ›  专栏  ›  技术社区  ›  Marco

在ajaxStop之前执行的表单提交处理程序

  •  1
  • Marco  · 技术社区  · 7 年前

    其中一些是 ajaxStart ajaxStop (两者都绑定到 $(document) )和 submit 这是绑定到 forms

    我不明白为什么 是在 form.submit 在以下示例中:

    var blobs = [];
    
    var echo = function echo(data, type) {
      var blob = window.URL.createObjectURL(new Blob([data], {
        "type": type
      }));
    
      blobs.push(blob);
    
      return blob
    };
    
    $(document).ready(function() {
      $('form').on('submit', function(e) {
        console.log('form submit');
        e.preventDefault();
      });
    }).ajaxStart(function() {
      console.log('ajaxStart');
    }).ajaxStop(function() {
      console.log('ajaxStop');
    });
    
    $('button').click(function() {
      $.get(echo("Sample data", "text/html"), function(data) {
        if (data != '')
          $('#frm').submit();
      });
    });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
    <form id="frm">
      <button type="button">
        Send
      </button>
    </form>
    1 回复  |  直到 7 年前
        1
  •  1
  •   Rory McCrossan Hsm Sharique Hasan    7 年前

    原因是 ajaxStop() complete

    你看到了 form submit success 处理器,发生 完成