服务器端重定向后JQuery活动刷新不工作

服务器端重定向后JQuery活动刷新不工作,jquery,playframework,Jquery,Playframework,我有一个页面,它每5秒钟都会刷新一次。但是当我点击页面上的一个按钮,它在服务器端被重定向到自身,然后它就不刷新了。我能做什么 JQuery代码 <script type="text/javascript" charset="${_response_encoding}"> // Reload the whole messages panel var refresh = function() { $('#thread').load('@{room()} #thread',

我有一个页面,它每5秒钟都会刷新一次。但是当我点击页面上的一个按钮,它在服务器端被重定向到自身,然后它就不刷新了。我能做什么

JQuery代码

<script type="text/javascript" charset="${_response_encoding}">


// Reload the whole messages panel
var refresh = function() {

    $('#thread').load('@{room()} #thread', function() {
        $('#thread').trigger('create');
    });


}

var create = function(){
     $('#thread').trigger('create');
}

// Call refresh every 5 seconds
$(document).ready(setInterval(refresh, 5000));


</script>

答案在FAQ中,我们必须在加载数据后重新绑定事件。

我还尝试了$window.loadsetIntervalrefresh,5000;但仍然无法工作…Ömer,您确定要每5秒刷新一次整个页面吗?这可能是严重的性能杀手IMHO。您应该在另外两种解决方案中进行选择:1使用jQuery.ajax仅获取包含新消息数据的Json,并使用JS迭代结果以格式化并将其放置在面板顶部;2使用WebSocket保持客户端和服务器之间的连接,并执行类似于第1点的操作。但只有在服务器向客户端发送新消息时才需要更新。Marcus,此项目必须在今晚完成:此页面只能在一台机器上工作。所以这不是一个大问题,如果我可以继续刷新页面后点击按钮…哈,挑战;因此,解决方案1将更简单、更快。如果您没有时间使用json进行“战斗”并向消息面板添加新项目,您可以在控制器中创建新操作,我们称之为messagePanel,然后使用jQuery.get获取呈现的HTML-“准备使用”消息列表并替换当前内容
public static void served(Long servingID) {
    Serving serv = Serving.findById(servingID);
    serv.isServed = true;
    serv.save();

    index();
}