gpt4 book ai didi

javascript - 如何获得触发点击的ajax响应

转载 作者:行者123 更新时间:2023-11-30 15:58:15 25 4
gpt4 key购买 nike

当我点击 buynow 按钮通过 ajax 发送请求时,我有两种形式用于 buy nowpincode 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点击事件中,我需要触发一个pincode提交按钮,所以我这样做了

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

});

上面的trigger事件成功调用pincode点击事件

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

但我需要将 ajax 响应返回给 trigger 事件,以便我可以执行一些操作,这可能吗?

有点像

 (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{
.....
}
....

});

最佳答案

您可以在 click 之外定义一个变量处理程序,当.trigger()被调用,分配$.ajax()变量,使用 .then()内先click处理 $.ajax() 结果的处理程序打电话。

注意,包括event.preventDefault()以防止提交 <form> ,正如@IsmailRBOUH 所指出的

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>

关于javascript - 如何获得触发点击的ajax响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38168019/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com