Javascript在Flask中执行python函数之后



我是编程和学习Python的新手。目前正在用Flask做一些webapp。对于其中一个项目,我试图实现以下

(1)在一个网页上,当我点击一个按钮时,我将文本框内的值传递给Python函数。它做一些从数据库中获取数据的操作并创建一个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>

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

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

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

使用异步请求,您将数据发送到服务器(无需重新加载网页),当您收到响应时,您将对其进行处理。一个非常粗糙的代码是像

这样的东西
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
})
}

相关内容

  • 没有找到相关文章

最新更新