如何获得Ajax响应以触发点击

皇家SUBBU

我有两种形式buy now,并为pincode当我点击buynow通过按钮发送请求ajax和同样的事情所做pincode的形式也。

HTML

 <form method="POST" action="/cart/add" id="myForm"> 
  .....
  ....
  <input type="button"  class="buyNowBtn" id="btnBuyNow"/>
 </form>

 <form action="#">
     <input type="text" id="pinCheck" class="pinCheck" placeholder="enter pin code" />
     <button class="btn btn-info" id="pinCheckTest"> Check</button>
 </form>

在同一buynow单击事件中,我需要trigger一个pincode提交按钮,所以我这样做了

(document).on('click', '#btnBuyNow', function (e) {
    ....
    ....
    $("#pinCheckTest").trigger('click');
    ....

});

以上trigger事件已成功调用pincodeclick事件

$('#pinCheckTest').click(function () {
  $.ajax({
    type: 'GET',
    url: url,
    success: function (output) {
        if (output == 'true') {
            }
       else{
        }
    }
});

但我需要获得ajaxtrigger事件的响应,以便我可以执行一些操作,这可能吗?

就像是

 (document).on('click', '#btnBuyNow', function (e) {
    ....
    ....
    $var output=$("#pinCheckTest").trigger('click');//I need to get ajax response back to this click
    if(output=='true'){
           ......
      }else{
       .....
      }
    ....

});
来宾271314

您可以在两个click处理程序之外定义一个变量,在.trigger()调用时,将其分配$.ajax()给变量,并.then()在第一个click处理程序中使用以处理$.ajax()调用结果

请注意,如@IsmailRBOUH所指出,包含event.preventDefault()该内容是为了防止提交<form>

var dfd;
$(document).on('click', '#btnBuyNow', function (e) {
    e.preventDefault();
    ....
    ....
    $("#pinCheckTest").trigger('click');
    if (dfd) {
      dfd.then(function(output) {
        // do stuff with output
        console.log(output)
      })
    }
    ....

});

$('#pinCheckTest').click(function (e) {
  e.preventDefault();
  dfd = $.ajax({
    type: 'GET',
    url: url,
    success: function (output) {
      if (output == 'true') {}
      else{};
    }
  })

});

var dfd;

$("#first").click(function() {
  $("#second").trigger("click");
  if (dfd) {
    dfd.then(function(data) {
      alert(data)
    })
  }
})

$("#second").click(function() {
  // do ajax stuff
  dfd = $.when("second clicked")
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="first">first button</button>
<button id="second">second button</button>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章