【发布时间】:2021-03-10 19:54:11
【问题描述】:
我一直在用头撞墙来解决这个问题。我正在编写一个应用程序,理想情况下,当 HTML 中发生 onclick 时,它会运行来自 FLASK 的 python 脚本。问题是我所做的一切似乎都不起作用。我不再收到错误,但程序没有运行。
我尝试通过 AJAX 访问 python 脚本,我尝试通过 HTML 中的 jscript 调用 python 脚本,我为 python 脚本创建了一个单独的文件,而不是通过 Flask 运行它......
</style>
<h1>Book Roulette</h1>
<h2>Discover Something New</h2>
<h3>Click the image to download a surprise book</h3>
<a href="/static/gut.py"> <button class="button" style="background: url(/static/images/stack.jpg)" onclick="button();" action="/button"></a>
</button>
<script>
$(function() {
$('button').click(function() {
$.ajax({
url: 'static/gut.py',
data: $('form').serialize(),
type: 'POST',
success: function(response) {
console.log(response);
},
error: function(error) {
console.log(error);
}
});
});
});
</script>
</body>
</html>
这是我的 Flask/Python 文档
from flask import Flask, render_template
from gutenberg.acquire import load_etext
from gutenberg.cleanup import strip_headers
import random
app = Flask(__name__, static_url_path='/static')
@app.route('/books')
def books():
return render_template("main.html")
@app.route('/button', methods=["GET", "POST"])
def button():
f = open("GutProject.txt", "w")
for x in range(1):
y = (random.randint(0, 59000))
text = strip_headers(load_etext(y)).strip()
f.write(text)
if __name__ == "__main__":
app.run(debug=True)
我想要做的是当我单击 HTML 按钮在用户计算机上生成一个新文件时运行 python 代码。到目前为止,我已经达到了单击按钮时没有任何反应的地步。
【问题讨论】:
-
您查看过浏览器的开发者工具吗?您可以按 F12 打开它们。转到“控制台”选项卡。有错误信息吗?