如何从Jquery $(document).ready函数将变量传递给php脚本

时间:2016-05-25 19:44:59

标签: php jquery ajax scroll

我正在建立聊天。我有这个Jquery工作代码,它每秒调用logs.php并刷新聊天。

$(document).ready(
    function(e) {
        $.ajaxSetup({cache:false});
        setInterval(function() {
            $('#chatlogs').load('logs.php');
            updateScroll();
        }, 1000);      
    }
);

正如您所看到的,我的页面上的JS函数updateScroll也会被调用。 Updatescroll创建了一个变量,我想将其传递给logs.php,有没有办法做到这一点?换句话说,如果用户已经滚动到聊天的顶部,updatescroll基本上每隔一秒检查一次。如果是这样,我会告诉logs.php加载-say - 另外10条消息。但是为了做到这一点,我必须从updatescroll传递给Jquery函数,然后传递到logs.php。你懂了?感谢

1 个答案:

答案 0 :(得分:1)

首先,当谈到ajax时,我建议使用class Pod has_one :pod_admin has_many :parents end class PodAdmin belongs_to :pod end ,当您异步运行时,间隔可能会变得棘手(如果一个调用挂起,最终可能会多次调用同一个脚本)。

更像是:

window.setTimeout

然后在你的PHP脚本中"计数"将通过(function($){ var update_messages = function(){ var count = updateScroll(); $('#chatlogs').load('logs.php?count='+count, function(){ window.setTimeout(update_messages, 1000); }); } $(document).ready(function(){ $.ajaxSetup({cache:false}); update_messages(); }); })(jQuery); 提供。

编辑:您可以看到正在发送一个匿名函数作为加载的第二个参数,这将在AJAX调用完成后调用,因此我们可以确保一次只运行其中一个