gpt4 book ai didi

javascript - Webpy 和 javascript 重新加载内容

转载 作者:行者123 更新时间:2023-12-03 09:26:04 27 4
gpt4 key购买 nike

嗨,我从 web.py 开始,仍然有很多东西我不明白。这个实在是太烦人了。我尝试使用 web.py 和 javascript 制作一个简单的页面。这个想法是在 div 上显示一个随机值,该值由 python 函数每秒更新一次。这是我正在使用的代码:

import web
import random

def rnd():
return random.randint(0, 10)

render = web.template.render('templates', globals={'rndm':rnd})

urls = (
'/mhs(.*)', 'mhs',
'/(.*)', 'index',
)
app = web.application(urls, globals())

class reloader:
def GET(self):
return render.reloader(rnd)

class index:
def GET(self, name='Bob'):
return render.index(name)

if __name__ == "__main__":

app = web.application(urls, globals())
app.run()

然后是reloader.html文件:

$def with(rnd)
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
</head>
<body>
<div id='demo'>Status: ? </div>

<script type="text/javascript">

function UpdateLeds() {
var x = document.getElementById('demo');
x.innerHTML = "Status: $rndm()";
}

setInterval(UpdateLeds, 1000);
</script>
</body>
</html>

我希望代码显示一个页面,其中包含每秒刷新的 0 到 10 之间的随机数。然而,我所能得到的只是一个显示静态值的页面(即:rnd 获得的第一个随机数)。但是,如果我手动刷新页面,该值会按我的预期更新。我不明白问题是出在我的代码中还是我对架构的理解中。有人可以帮我吗?

最佳答案

如果我将你的 javascript 函数更改为这个,它对我有用:

function UpdateLeds() {
var x = document.getElementById('demo');
var random = Math.floor((Math.random() * 10) + 1);
x.innerHTML = "Status: "+random;
}

我不确定您到底想在 HTML 中使用 $def with(rnd) 做什么。我认为你可能会混合 web.py python 和 javascript 语法(只是猜测),但是一旦页面在浏览器中呈现,Python 就不会为你带来任何好处,你必须用纯 javascript 做你想做的事情.

这是一个 JSFiddle:https://jsfiddle.net/s7n6nxng/

关于javascript - Webpy 和 javascript 重新加载内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31663457/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com