我是aiohttp的新手,下面有一个问题,首先,我在页面中有一个按钮,如下所示,<body><button class="button" name="click_me" onclick="click_me">Click Me</button></body>在python代码中,我将函数定义如下,async def click_me(request): logger.info(f'test on click_me')async def handler(request): ... ... default code here ... ... 但是,当我打开浏览器并单击“click_me”按钮时,调试页面显示错误,Uncaught ReferenceError: click_me is not defined at HTMLButtonElement.onclick如何在python脚本中定义函数来捕捉click_me事件?
1 回答
天涯尽头无女友
TA贡献1831条经验 获得超9个赞
不,该onclick
属性是指必须在您的页面中加载的 Javascript 函数。如果您想从该点击事件调用 Python 函数,您必须执行 HTTP 请求(或其他方式,还有许多其他方式),例如使用AJAX或fetch,到相应服务器的 url。例如
<body>
<button onclick="doFoo()"></button>
<script>
async function doFoo() {
const response = await fetch('http://YOURSERVER/foo')
// do whatever you want with your response
}
</script>
</body>
将调用foo此处定义的 Python 函数
from aiohttp import web
async def foo(request):
logger.info("button clicked")
return web.Response()
app = web.Application()
app.add_routes([web.get('/foo', foo)])
if __name__ == '__main__':
web.run_app(app)
添加回答
举报
0/150
提交
取消