等待AJAX click方法完成以执行另一个函数。如何实施Javascript、AJAX

等待AJAX click方法完成以执行另一个函数。如何实施Javascript、AJAX,javascript,node.js,ajax,promise,async-await,Javascript,Node.js,Ajax,Promise,Async Await,这是我当前的代码。我知道这行不通。我试图做的是在执行onlick ajax调用之后,我希望运行其余的代码。我不想让它在之前或之后运行。我不太熟悉承诺、异步和等待。所以我需要帮助来实现这一点。你能帮我吗 var err=0; $("#addsell").click(function(e) { e.preventDefault(); var data = { title: $('#title').val(), author: $("

这是我当前的代码。我知道这行不通。我试图做的是在执行onlick ajax调用之后,我希望运行其余的代码。我不想让它在之前或之后运行。我不太熟悉承诺、异步和等待。所以我需要帮助来实现这一点。

你能帮我吗

var err=0;
  $("#addsell").click(function(e) {
    e.preventDefault();
    var data = {
            title: $('#title').val(),
            author: $("#author").val(),
            genre: $('#genre').val(),
            price: $('#price').val(),
            addDate: Date(),
            isbn: $('#isbn').val()
    };

    if(data.title.length==0) {
      $('#errtitle').show();
      err++;
    }
    else $('#errtitle').hide();

    if(data.author.length==0) {
      $('#errauthor').show();
      err++;
    }
    else $('#errauthor').hide();

    if(data.price.toString().length==0) {
      $('#errprice').show();
      err++;
    }
    else $('#errprice').hide();

    if((data.isbn.toString().length==10)||(data.isbn.toString().length==13)||(data.isbn.toString().length==0)) {
      $('#errisbn').show();
      err++;
    }
    else $('#errisbn').hide();

    console.log(data);
  }).then(function() {
    if(err!=0){
      err=0;
      $.post("/api/newbook", data, function(resp, status){
        if(resp==1){
          $('#addform').hide();
          $('#added').show();
        }
      });
    }
  });
你能告诉我这个吗

var err=0;
  $("#addsell").click(function(e) {
    e.preventDefault();
    var data = {
            title: $('#title').val(),
            author: $("#author").val(),
            genre: $('#genre').val(),
            price: $('#price').val(),
            addDate: Date(),
            isbn: $('#isbn').val()
    };

    if(data.title.length==0) {
      $('#errtitle').show();
      err++;
    }
    else $('#errtitle').hide();

    if(data.author.length==0) {
      $('#errauthor').show();
      err++;
    }
    else $('#errauthor').hide();

    if(data.price.toString().length==0) {
      $('#errprice').show();
      err++;
    }
    else $('#errprice').hide();

    if((data.isbn.toString().length==10)||(data.isbn.toString().length==13)||(data.isbn.toString().length==0)) {
      $('#errisbn').show();
      err++;
    }
    else $('#errisbn').hide();

    console.log(data);
  }).then(function() {
    if(err!=0){
      err=0;
      $.post("/api/newbook", data, function(resp, status){
        if(resp==1){
          $('#addform').hide();
          $('#added').show();
        }
      });
    }
  });

你在尝试什么,你想先执行ajax方法然后执行普通函数还是先执行普通函数然后执行ajax函数?我想先执行ajax方法。那么@RanjithUKI函数添加了我的答案,你能试试吗?你在尝试什么,你想先执行ajax方法然后执行普通函数还是先执行普通函数然后执行ajax函数?我想先执行ajax方法。那么@RanjithUKI函数已经添加了我的答案,你能试试吗。