post post功能中的jQuery帖子

时间:2017-03-17 16:46:06

标签: javascript jquery asp.net asp.net-mvc events

我正在努力实现并找出我以前从未做过的事情。我有一种感觉如何去做,但我不确定该怎么做......

所以我的网站上有一个按钮,用户可以在其中执行我的应用程序的授权。当用户访问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。我想这样做是因为我注意到有些人根本没有授权使用该应用程序,但仍按下此按钮,然后出现错误,这就是为什么我要禁用单击此按钮除非他确实授权了应用程序。

2 个答案:

答案 0 :(得分:1)

如果你想每X次执行一些函数,你必须使用javascript(https://www.w3schools.com/jsref/met_win_settimeout.asp)的setTimeout / setInterval函数

答案 1 :(得分:1)

这样的事情应该这样做。

{{1}}