jQuery:获取AJAX并在提交时确认

时间:2018-01-23 12:24:54

标签: javascript jquery ajax

我的目标是:当有人提交表单时,调用AJAX,检索一些GET结果,然后提示确认:

$('#form1').submit(function() {
    var messages = ... // get result from $.get() call
    return confirm("Confirm delete " + number + 'messages' ?);
});

在这种情况下,我认为承诺不会有所帮助 我可以附加事件并删除事件:但这个解决方案非常繁重。

任何优雅的方式吗?

3 个答案:

答案 0 :(得分:0)

   temp = min(d,sqrt((((P[i].getX() - P[j].getX())**2) + ((P[i].getY() - P[j].getY())**2))))
   if temp < d:
       temp = d
       ret = [P[i], P[j]]

您必须等到服务器使用$('#form1').submit(function(e) { e.preventDefault(); $.get(myUrl).then(function(res) { confirm("Confirm delete " + number + 'messages' + res); }); }); 方法向您发送响应。

http://api.jquery.com/jquery.ajax/

答案 1 :(得分:0)

&#13;
&#13;
$(document).on('submit','#myForm',function(e){
    e.preventDefault();
    $.ajax({
       url:'https://jsonplaceholder.typicode.com/users',
       type:'POST',
       data:{},
       success:function(response){
         console.log(response);
         var r = confirm("Press a button!");
         if (r == true) {
            txt = "You pressed OK!";
            } else {
            txt = "You pressed Cancel!";
           }
          console.log(txt);
       },
       error:function(error){
       }
    });
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>


<form id="myForm">
<button type="submit" id="submit">SUBMIT</button>
</form>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

您可以默认阻止提交。在收到get请求并且用户确认该消息后,您可以删除该确认回调,并在表单上调用submit

$('#form1').on('submit', function(e) {
  e.preventDefault();
  $.get( )
  .then(() => {
     var messages = ... // get result from $.get() call
     if( confirm("Confirm delete " + number + 'messages' ?) ) {
        ('#form1').off('submit').submit()
     }
  })

});