php - 被重定向到错误的地方 - 有时

标签 php javascript ajax

我有一个 javascript setInterval 每 5 秒检查一次外部页面是否有邮件,我有时发现如果我在请求发出的同时登录或单击表单提交,我有时会发现自己在看 Y或 N(我的 JS 要拦截的内容)而不是我想去的真实链接。

如何调试这个?我将 firefox 与 firebug 结合使用,我的应用程序将 PHP 与 javascript 结合使用。

编辑:就好像 java 错过了 onComplete 一样,它只是在用户登录时将其转储....只有当有人正在更改页面并且 java 同时运行时才会发生。

编辑 2: 如果您想亲眼看看,您需要访问我的网站并创建一个帐户并完成注册过程(2-3 分钟完成),网站是http://mikesandmegs.com测试版密码是goldfish。您要做的是在支票邮件发送请求时登录。就像我需要取消某些东西或告诉 java 抛出回调或其他东西。您应该每 5 秒看到一次请求(每个请求会增加 5 秒),但您会看到。 这可能需要几次尝试或一些运气,但它是可重现的。

这是正在运行的 javascript(我想我已经发布了所有内容)如果我似乎遗漏了什么,请告诉我。我还发布了 javascript 检查的 htnl 输入 html...

<input id="hasMail" type="hidden" value="y">

<script type='text/javascript'>
    mailTimer = setInterval("checkMail();", 10000);

function checkMail()
{
    // should we check the mail now?
    if ($('hasMail').value == "y")
    {
        // remove mail new mail alert (mail-check.php returns y or n
        new Ajax.Request('mail-check.php', 
        { 
            method: 'post', 
            postBody: '',
            onComplete: checkMailNotify 
        });
    }
}

    function checkMailNotify(req)
    {
        if (req.responseText.length > 5)
        {
            $('hasMail').value = "n";
            clearInterval (mailTimer);
            return;
        }

        if (req.responseText == "y")
        {
            $('hasMail').value = "n";
            $('topMessage').update('<a href="/mail-inbox.php">You have new mail...</a>');
            $('alertBox').appear();
            clearInterval (mailTimer);
        }
        else
        {
            clearInterval (mailTimer);
            mailInterval = mailInterval + 5000;
            mailTimer = setInterval("checkMail();", mailInterval);
        }
    }

</script>

最佳答案

我知道这远不是解决方案,但它会有助于增加 5 秒的间隔,甚至增加到 30 秒左右。我以前做过邮件服务器的工作,我们经常遇到人们会遇到的问题,例如他们的 iphone 以及他们的桌面邮件客户端以非常短的时间间隔对服务器执行 ping 操作。这将导致(对他们而言)由于锁定而导致的失败失败。

是的,5 秒的消息速度非常快(它看起来不像聊天,而只是消息,对吗?)。充其量,如果您这样做,那么问题发生的次数就会少得多。然而,你会知道它可能会发生。

请不要将此视为尝试解决您的问题。只是一个建议。

关于php - 被重定向到错误的地方 - 有时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1041279/

相关文章:

javascript - 以数组形式读取和写入数据到 cookie

javascript - Jasny Bootstrap rowlink 模态调用

php - 将点击跳过图库更改为滑动照片库?

php - Magento 重写/lib/文件?

javascript - Ajax 和异步等待

javascript - javascript 事件点击后清空输入

javascript - 使用 AJAX 进行多项选择并且没有提交按钮

非对象上的 PHP fetch_object()

php - SQL 选择关键字与用户兴趣匹配的帖子

php - 如何授予 Composer 在 var/www/html 中创建文件夹的权限