Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/442.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将JQuery数组传递给Flask变量_Javascript_Jquery_Flask - Fatal编程技术网

Javascript 将JQuery数组传递给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

有一个类似的标题问题,但它真的与我的问题无关

因此,我在函数中创建了一些JQuery数组。现在,我想在同一个函数中为那些JS数组设置一些flask变量。我想这样做的原因是,然后我设置元素的
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函数在客户机中运行

操作顺序如下:

  • 客户端请求该页面
  • 服务器通过呈现模板生成响应。此时将运行模板中的任何
    url\u()
    或其他Python代码
  • 客户端接收页面并在其中执行Javascript
  • jQuery函数终于执行了,但此时更改
    url\u for()
    的输出已经太晚了
要实现这一点,您需要做的是用Javascript构建URL


请看,在这里,我为一个类似的问题提出了两种可能的解决方案。

您不能按照您想要的方式来做,因为模板在服务器上运行,而jQuery函数在客户端运行

操作顺序如下:

  • 客户端请求该页面
  • 服务器通过呈现模板生成响应。此时将运行模板中的任何
    url\u()
    或其他Python代码
  • 客户端接收页面并在其中执行Javascript
  • jQuery函数终于执行了,但此时更改
    url\u for()
    的输出已经太晚了
要实现这一点,您需要做的是用Javascript构建URL

看,在这里,我为一个类似的问题提出了两种可能的解决方案