【问题标题】:Is there a way to trigger a JavaScript function from flask or pass {{variable}} into javascript?有没有办法从烧瓶触发 JavaScript 函数或将 {{variable}} 传递给 javascript?
【发布时间】:2021-01-31 15:41:37
【问题描述】:

如果用户在表单中输入无效输入但变量不会传递到 JavaScript,我正在尝试使用 alert() JavaScript 函数。它说“对象节点列表”。所以我尝试在flask中触发这个功能,还是不行。

任何帮助将不胜感激。

【问题讨论】:

  • 请在您的问题文本中添加代码部分,然后我们可以帮助您
  • @dukkee 我不能完全这样做,因为它是正在进行的考试的一部分
  • 这与 Python、Flask 或类似的东西无关。 [object Whatever] 是当您将某些内容转换为不希望转换为字符串的字符串时 Javascript 打印的内容。您显然正在将 Nodelist(document.querySelectorAll 返回的东西)转换为字符串。您可以通过打开浏览器的控制台并输入document.querySelectorAll('body').toString() 来故意执行此操作,您将看到它尽职尽责地打印[object NodeList]。如果您需要更多帮助,则必须解释您想要完成的任务,最好是使用代码。

标签: javascript python flask


【解决方案1】:

要从 Flask 触发 JS 函数,您必须渲染 HTML,其中包含执行所需内容的脚本标记。

要将变量(或一般数据)从 Flask/python 世界传递到 JS 运行时,您需要渲染一个脚本标记,该标记将 JS 变量设置为 JSON 字符串作为值。

【讨论】:

    【解决方案2】:

    您需要了解 Flask(我假设您将它与 Jinja 模板一起使用)和 JavaScript 之间的关系。

    Flask 在发送到浏览器之前将您的值插入或呈现到 html 模板中

        <html>
        ...
        <script>
           let myVariable = {{ this_is_replaced_before_it_gets_to_your_browser }}
    
           let {{replaceMe}} = {{replaceMeToo}}
        </script>
    

    一旦它到达浏览器,它会检查收到的 HTML 内容,点击您的脚本并解释内容并决定要做什么。

    注意:为什么要从 Python 传递 JavaScript?你确定没有更好的方法吗?如果您有一个代码 sn-p 来显示您要实现的目标,看起来您会得到更好的答案... ;-)

    【讨论】:

      猜你喜欢
      • 2017-02-21
      • 1970-01-01
      • 2020-12-21
      • 2021-04-10
      • 1970-01-01
      • 1970-01-01
      • 2017-09-02
      • 2018-01-26
      • 2017-11-19
      相关资源
      最近更新 更多