【问题标题】:Javascript to execute after python function in Flask在 Flask 中的 python 函数之后执行的 Javascript
【发布时间】:2021-10-21 02:33:34
【问题描述】:

不熟悉编码和学习 Python。目前正在开发 Flask 以制作一些 webapp。对于我正在尝试实现以下目标的项目之一

(1) 在网页上,单击时我有一个按钮,我将文本框中的值传递给 Python 函数。它执行从数据库中获取数据的一些操作,并创建一个 html,该 html 将该数据库查询输出存储到一个表中。 (2) 当这个 HTML 文件与里面的表格一起生成时,我想在我的网页中的 iframe 中显示相同的内容(页面自动生成 iframe)

我实现这一点的方法是有 2 个按钮,一个按钮将值传递给 Python 函数,第二个按钮将生成的 HTML 显示到 iframe 中。

<br />
<input type='submit' value='Process Query' class="savebtn" name='Submit' />
<br /> 
<input type='button' value='Submit Query' class="savebtn" name='Submit' onclick="myFunction()" />

. . .

<script>

function myFunction() {

   var iframe = document.createElement('iframe');
   $('iframe').not(this).remove();
   var html = '

   <body>Foo</body>';
   iframe.src = 'http://192.xx.xx.xx:10000/Table.html';
   iframe.height = "500";
   document.body.appendChild(iframe);
   console.log('iframe.contentWindow =', iframe.contentWindow);

}
</script>

我认为第二个按钮是不必要的,但不知道该怎么做?

抱歉,如果这对许多人来说太基础了,但正如我所说,我开始学习编码了。

【问题讨论】:

  • 发布无法正常工作的服务器端代码,以便人们了解如何为您的问题创建答案。

标签: javascript html flask


【解决方案1】:

如果我正确理解您的问题,您想要的是首先处理文本并生成一些 html,然后将相同的 html 显示给用户。如果是这种情况,您需要的是asynchronous request

通过异步请求,您将数据发送到服务器(无需重新加载网页),当您收到响应时,您会对其进行处理。一个非常粗略的代码类似于

    function clickButton(){
        fetch("/<path_to_server>/")

        .then(function(result) { // This is the response from the server
           return result.json(); // convert it to json
         })

         .then(function(data) {
           // process your returned data 
           // e.g. data.generated_table could be your html output
           // which you can now display in your iframe
         })
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多