我有最简单的烧瓶应用程序:
app = Flask(__name__)
@app.route('/python/', methods = ['GET','POST'])
def index():
return "Hello World"
if __name__ == "__main__":
app.run(debug=True)
和一个带有文字区域和按钮的非常简单的网页。
<textarea id="mytextarea">Some text...</textarea>
<p> Click the button </p>
<button type="button" onclick="myFunction()"> Click here</button>
<p id="demo"> </p>
我想要做的是在单击按钮时使用脚本将Flask的响应放在网页上。我尝试了以下但它不起作用。单击按钮时没有任何反应。我做错了什么?
<script>
function myFunction() {
var xhttp = new XMLHttpRequest();
xhttp.open("POST", "http://127.0.0.1:5000/python/", true);
xhttp.send();
var x = xttp.response;
document.getElementById("demo").innerHTML = x;
}
</script>
(我是初学者)。
答案 0 :(得分:1)
请参阅下面的代码并查看XMLHttpRequest.onreadystatechange了解详情
<script>
function myFunction() {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function () {
if (xhttp.readyState === XMLHttpRequest.DONE) {
document.getElementById("demo").innerHTML = xhttp.responseText;
}
};
xhttp.open("POST", "http://127.0.0.1:5000/python/", true);
xhttp.send();
}
</script>
如果您从烧瓶应用程序发送html,请参阅示例代码,无需发行cors,您需要从flask导入render_template。
@app.route('/')
def hello_world():
return render_template('index.html')