Javascript 将JQuery数组传递给Flask变量
有一个类似的标题问题,但它真的与我的问题无关 因此,我在函数中创建了一些JQuery数组。现在,我想在同一个函数中为那些JS数组设置一些flask变量。我想这样做的原因是,然后我设置元素的Javascript 将JQuery数组传递给Flask变量,javascript,jquery,flask,Javascript,Jquery,Flask,有一个类似的标题问题,但它真的与我的问题无关 因此,我在函数中创建了一些JQuery数组。现在,我想在同一个函数中为那些JS数组设置一些flask变量。我想这样做的原因是,然后我设置元素的href,并路由我的用户 以下是当前的JS代码: JQuery //Filter Search $(function() { $('#filter_search').click(function() { var entities = JSON.parse(J
href
,并路由我的用户
以下是当前的JS代码:
JQuery
//Filter Search
$(function() {
$('#filter_search').click(function() {
var entities = JSON.parse(JSON.stringify($('#filterform').serializeObject())).checkboxes;
var data = JSON.parse(JSON.stringify($('#filterform').serializeObject())).checkboxeslower;
if(typeof data == "string") {
data = $.makeArray(data);
}
//Here I want to set Flask variables like {{entities}} and {{data}}
//Then, I will call the next line
$("#filter_search").attr('href', "{{ url_for('filter_search', entities='{0}', data='{1}'.format(entities, data) )}}");
//Then, if all goes as planned, it will change the href and redirect the user to filtered_search
});
});
您不能按照您想要的方式来做,因为模板在服务器中运行,而jQuery函数在客户机中运行 操作顺序如下:
- 客户端请求该页面
- 服务器通过呈现模板生成响应。此时将运行模板中的任何
或其他Python代码url\u()
- 客户端接收页面并在其中执行Javascript
- jQuery函数终于执行了,但此时更改
的输出已经太晚了url\u for()
请看,在这里,我为一个类似的问题提出了两种可能的解决方案。您不能按照您想要的方式来做,因为模板在服务器上运行,而jQuery函数在客户端运行 操作顺序如下:
- 客户端请求该页面
- 服务器通过呈现模板生成响应。此时将运行模板中的任何
或其他Python代码url\u()
- 客户端接收页面并在其中执行Javascript
- jQuery函数终于执行了,但此时更改
的输出已经太晚了url\u for()