繁体   English   中英

完成功能中的jQuery发布

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM