[英]jQuery post within post done function
我正在尝试实现并找出我从未做过的事情。 我有一个如何做的感觉,但我不确定如何做...
因此,我在网站上有一个按钮,用户可以在其中执行我的应用程序的授权。 当用户访问xx网站并授权我的应用程序时,我想每3秒执行一次到该xx网站的jQuery发布,检查用户是否已对我的应用程序进行了使用授权。
如果网站的响应是成功的,我想启用该按钮并单击该按钮,以进行最后一步以将一些记录插入数据库。
因此,当前代码如下所示:
$(document).on("click", "#btnClick", function (e) {
$(this).prop('disabled', true);
e.preventDefault();
$.post("/GetMyData/GenerateSession")
.done(function (sessionID) {
window.open("https://example.com/Authorize?=" + data, "_blank");
$('#btnClick').hide();
$('#btnAuthorize').show();
$("#step2").removeClass("disabled").addClass("selected");
});
});
因此,如您所见,在我的acciton中何时生成了SessionID,我只需在浏览器中打开一个新选项卡,然后将其带到相应的网站即可。
现在,我要在最后一步中做的就是删除此代码,用户自己必须单击按钮来授权应用程序,如下所示:
$(document).on("click", "#btnAuthorize", function () {
$.post('/GetMyData/StoreToken')
.done(function (data) {
if (data.result == "Success") {
window.location.href = '/Success';
}
});
});
因此,无需用户执行此最后一步。 我想让我的应用程序为用户执行此操作,并在#btnClick甚至被触发后每3秒执行一次发布。
我该如何使用jQuery?
PS我想这样做是因为我注意到有些人只是不授权使用该应用程序,而是仍然按此按钮,然后会出现错误,这就是为什么我想禁用我们单击此按钮的原因,除非他确实授权了该应用。
如果您想每X次执行某些功能,则必须使用javascript( https://www.w3schools.com/jsref/met_win_settimeout.asp )的setTimeout / setInterval函数。
这样的事情应该做。
var r = window.setInterval(function(){
$.post('/GetMyData/StoreToken')
.done(function (data) {
if (data.result == "Success") {
window.location.href = '/Success';
}
});
},3000);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.