aiohttp如何处理onclick函数

我是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事件?


守着一只汪
浏览 74回答 1
1回答

天涯尽头无女友

不,该onclick属性是指必须在您的页面中加载的 Javascript 函数。如果您想从该点击事件调用 Python 函数,您必须执行 HTTP 请求(或其他方式,还有许多其他方式),例如使用AJAX或fetch,到相应服务器的 url。例如<body>&nbsp; <button onclick="doFoo()"></button>&nbsp; <script>&nbsp; &nbsp; async function doFoo() {&nbsp; &nbsp; &nbsp; const response = await fetch('http://YOURSERVER/foo')&nbsp; &nbsp; &nbsp; // do whatever you want with your response&nbsp; &nbsp; }&nbsp; </script></body>将调用foo此处定义的 Python 函数from aiohttp import webasync def foo(request):&nbsp; &nbsp; logger.info("button clicked")&nbsp; &nbsp; return web.Response()app = web.Application()app.add_routes([web.get('/foo', foo)])if __name__ == '__main__':&nbsp; &nbsp; web.run_app(app)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python