我正在使用Play Framework,我有一个名为“id”的变量。我已经定义了一个如下所示的函数:
setInterval(function() {
$.get("file2", function(id){
$("#result").html(id);
})
}, 5000);
我想要做的是获取我在file2.html中绘制的内容,并将变量id传递给此文件,因为它需要它。控制器如下所示:
public static void file2(Long id) {
//Some operations with the required variable id
render(variable);// Render the result
}
当我尝试编译它时,它告诉我id未定义。它在file1.html中定义,但显然我将它传递给file2.html的方式不正确,我无法执行控制器所需的操作,因为它需要我传递错误的id。
关于如何做到这一点的任何想法? PS:我已经检查过file1.html中的id是否可用,是的。
PS2:这是错误代码:
执行例外
IllegalArgumentException occured : id to load is required for loading
答案 0 :(得分:1)
您需要将ID作为网址的一部分传递。
另外,我建议将它放在一个函数中,该函数可以使用setTimeout在回调中再次调用自身,以便等到你在允许另一个调用之前得到响应。在拨打电话的时间超过5秒的情况下,这可以防止事情变得混乱。
试试这个......
// main function for calling your server-side method
function file2(id) {
$.get("file2?id=" + id, function(data) {
$("#result").html(data);
setTimeout(function() {
file2(id);
}, 5000);
});
}
// run it once after 5 seconds and then in will run itself after that
setTimeout(function() {
file2(id);
}, 5000);