为了账号安全,请及时绑定邮箱和手机立即绑定

aiohttp如何处理onclick函数

aiohttp如何处理onclick函数

守着一只汪 2022-10-11 16:03:25
我是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 请求(或其他方式,还有许多其他方式),例如使用AJAXfetch,到相应服务器的 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)


查看完整回答
反对 回复 2022-10-11
  • 1 回答
  • 0 关注
  • 73 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信