我在以下属性中使用JS填充了一些动态生成的内容:
<div id="connection" class="fp"> XX </div>
如何在Python代码中提供生成的内容“XX”?
我正在使用Flask框架。我知道使用Input和Select属性是可能的,例如,
<input name= EMAILS type="email">
然后,
@app.route("/", methods=['POST'])
def upload():
request.form.get('EMAILS')
但<p>
或<div>
无法实现。
答案 0 :(得分:0)
您可以使用ajax
。首先,在您的模板(名为home.html
)中,使用jquery
:
<html>
<body>
<div id="connection" class="fp"> XX </div>
<button id="hit" type="button" name="">get text</button>
<div id='placeholder'></div>
</body>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"> </script>
<script>
$(document).ready(function() {
$('#hit').click(function() {
var text = $('#connection').text();
$.ajax({
url: "/get_text",
type: "get",
data: {result:text},
success: function(response) {
$("#placeholder").html(response);
},
error: function(xhr) {
//Do Something to handle error
}
});
});
});
</script>
</html>
单击该按钮时,将捕获div
元素中的文本并将其发送到后端。但是,后端也必须返回响应。为此,使用flask
创建路由,并访问ajax
返回的结果,并返回一些HTML:
@app.route('/')
def home():
return flask.render_template('home.html')
@app.route('/get_text')
def get_text():
returned_result = flask.request.args.get('result')
print(returned_result)
#do something with returned_result
return '<strong>Thanks!</strong>'
当我运行脚本时,下面的结果将打印到终端:
XX