我正在努力实现并找出我以前从未做过的事情。我有一种感觉如何去做,但我不确定该怎么做......
所以我的网站上有一个按钮,用户可以在其中执行我的应用程序的授权。当用户访问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");
});
});
因为您可以看到我的aciton中生成SessionID的时间,我只需在浏览器中打开一个新选项卡并将他带到相应的网站。
现在我想在最后一步中做的是删除此代码,用户自己必须单击按钮授权应用程序,如下所示:
$(document).on("click", "#btnAuthorize", function () {
$.post('/GetMyData/StoreToken')
.done(function (data) {
if (data.result == "Success") {
window.location.href = '/Success';
}
});
});
因此,无需用户执行此最后一步。我想让我的应用程序为用户执行此操作,并且一旦#btnClick甚至被触发,每3秒执行一次帖子。
我怎么能用jQuery做到这一点?
P.S。我想这样做是因为我注意到有些人根本没有授权使用该应用程序,但仍按下此按钮,然后出现错误,这就是为什么我要禁用单击此按钮除非他确实授权了应用程序。
答案 0 :(得分:1)
如果你想每X次执行一些函数,你必须使用javascript(https://www.w3schools.com/jsref/met_win_settimeout.asp)的setTimeout / setInterval函数
答案 1 :(得分:1)
这样的事情应该这样做。
{{1}}