所以基本上我有一个页面,用于渲染数据库中的行
{% for q in rows %}
<tr>
<td>Column 1</td>
<td>
<a href="#modalUpload" data-toggle="modal" data-question-id="{{q.id}}">Upload</a>
</td>
</tr>
{% endfor %}
第二列是链接到模式页面的链接
<div class="modal fade" id="modalUpload" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"
aria-hidden="true">
<div class="modal-content">
{{ dropzone.create(url_for('uploadImages', qid=??????)) }}
{{ dropzone.config(redirect_url=url_for('examQuestions', examid=examid)) }}
</div>
我的JavaScript代码
$('#modalUpload').on('show.bs.modal', function(e) {
var qid = $(e.relatedTarget).data('question-id');
});
我需要将qid
变量发送到url_for内容...我知道我做不到,因为在执行此js代码之前已经呈现了页面。我的问题是,可以我在执行此页面后渲染模式吗?我尝试使用ajax和flask服务器端将新数据发送到我的页面,然后替换html内容,但是我无法使它正常工作..代码以文本形式发送,而不是代码
编辑:我知道可以通过动态内容加载html代码,但是这应该如何与我的代码一起使用?这是我的代码,它不返回jinja代码,而是返回文本
$(document).ready( function() {
$('#modalUpload').click(function() {
$.ajax("{{ url_for('gnp', qid=qid) }}").done(function (reply) {
$('#modalcontent').html(reply);
});
});
});
回复为
{{ dropzone.create(url_for('uploadImages', qid=10)) }}
{{ dropzone.config(redirect_url=url_for('examQuestions', examid=examid)) }}
在我的模式中显示为文本,而不是由jinja2运行