我想知道是否有更好的方法来做到这一点。
现在我有 jquery 解析并选择每行的事件 div 并通过 ajax 发送 Flask 路由。我想知道是否有办法通过 jinja2 使用表单做同样的事情。
这是工作示例。 “slick-active”div 取决于用户滑过以选择的内容。
<row>
<div class="text-center">
<div class="slider single-item">
{% for item in row1 %}
<div><h3>{{ item }}</h3></div>
{% endfor %}
</div>
</div>
</row>
<row>
<div class="text-center">
<div class="slider single-item">
{% for item in row2 %}
<div><h3>{{ item }}</h3></div>
{% endfor %}
</div>
</div>
</row>
$(document).ready(function(){
$('.your-class').slick();
});
$('.single-item').slick({
arrows: true
});
$('#submit').on('click', function(e){
e.preventDefault(); // preventing default click action
var data = {results: $('div.slick-active').text()};
$.ajax({
url: '/testing',
contentType: 'application/json',
type: 'post',
dataType : 'text',
data: JSON.stringify(data),
success: function (data) {
console.log(data);
window.location = data;
// ajax success callback
}, error: function (response) {
alert('ajax failed');
// ajax error callback
},
});
});
这是Python flask
@app.route('/', methods=['post','get'])
def index():
return render_template('index.html', row1=row1, row2=row2)
@app.route('/testing', methods=['GET', 'POST'])
def testing():
r = request.get_json()
return r['results']
最佳答案
不,没有。 Jinja 是静态的,在客户端与其交互之前呈现服务器端。 JavaScript 是动态的、客户端的。
关于jquery - 有什么方法可以使用jinja2和flask形式而不是ajax和jquery或两者都使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30745924/