当前位置: 首页 > 知识库问答 >
问题:

将Javascript数组传递给Flask

齐昊
2023-03-14

我在烧瓶中有一个函数称为数组,它需要一个列表并打印出列表中的项目:

def array(list):
    string = ""
    for x in list:
        string+= x
    return string

在客户端,我想将一个名为str的javascript数组传入这个数组。我该怎么做?这是我现在得到的,但是Flask没有读取添加的变量。有什么想法吗?

for (var i = 0; i < response.data.length; i++) {
            console.log(i);

            // str = str + "<br/><b>Pic</b> : <img src='"+ response.data[i].picture +"'/>";

            str[i] = response.data[i].picture;
        }
        window.location = "{{ url_for('array', str=list ) }}";

共有1个答案

巫马刚洁
2023-03-14

Flask有一个名为request的内置对象。在请求中有一个名为args的multidict。

您可以使用请求。阿格斯。获取('key')以检索查询字符串的值。

from flask import request

@app.route('/example')
def example():
    # here we want to get the value of the key (i.e. ?key=value)
    value = request.args.get('key')

当然,这需要get请求(如果使用post,则使用request.form)。在javascript端,您可以使用纯javascript或jquery发出get请求。我将在我的示例中使用jquery。

$.get(
    url="example",
    data={key:value}, 
    success=function(data) {
       alert('page content: ' + data);
    }
);

这就是将数据从客户端传递到flask的方式。jquery代码的功能部分是如何将数据从flask传递到jquery。例如,假设您有一个名为/example的视图,从jquery端传入一对“list\u name”:“example\u name”

from flask import jsonify
def array(list):
    string = ""
    for x in list:
        string+= x
    return string

@app.route("/example")
def example():
    list_name = request.args.get("list_name")
    list = get_list(list_name) #I don't know where you're getting your data from, humor me.
    array(list)
    return jsonify("list"=list) 

在jquery中的success函数中,您会说

  success=function(data) {
       parsed_data = JSON.parse(data)
       alert('page content: ' + parsed_data);
    }

请注意,出于安全考虑,flask不允许在json响应中使用顶级列表。

 类似资料:
  • 问题内容: 我在烧瓶中有一个称为数组的函数,该函数接收一个列表并打印出列表中的项目: 在客户端,我想将名为str的javascript数组传递给该数组。我该怎么办?这就是我现在所拥有的,但是Flask没有读取添加的变量。有任何想法吗? 问题答案: Flask具有一个称为request的内置对象。在请求中有一个称为args的multidict。 您可以用来检索查询字符串的值。 当然,这需要一个get

  • 问题内容: 有谁知道如何将C#ASP.NET数组传递给JavaScript数组?示例代码也将很好。 对不起,如果我以前的人含糊不清。这个问题实际上很简单。为了简单起见,我在文件中声明: 现在,我想传递给客户端,并在JavaScript中使用数组中的数据。我该怎么做? 问题答案: 您可以使用ClientScript.RegisterStartUpScript将javascript注入Page_Loa

  • 问题内容: HTML: JavaScript: 我要“全部完成!” 在所有延迟任务完成后出现,但似乎不知道如何处理一系列Deferred对象。“全做完了!” 首先发生是因为数组不是Deferred对象,所以jQuery继续进行并假设它已经完成。 我知道有人可以像这样将对象传递给函数,但是未知我要解决的实际问题中执行多少个Deferred对象。 问题答案: 要将值数组传递给通常希望它们是单独参数的

  • 问题内容: 这个问题已经在这里有了答案 : 如何将变量和数据从PHP传递到JavaScript? (20个答案) 5年前关闭。 我正在尝试将PHP数组变量转换为JavaScript变量。 这是我的代码: 我无法获得PHP数组的价值。 我该如何解决这个问题? 问题答案: 在下面的示例中,您具有一个PHP数组,然后首先通过一个PHP数组创建一个JavaScript数组:

  • 问题内容: 我想在PHP中操纵JavaScript数组。可以做这样的事情吗? 活动是一维数组,例如: 尝试此脚本时无法完成…如何解决? 问题答案: 而已!现在您可以在PHP中访问它:

  • 问题内容: 我使用此javascript捕获flexigrid中选中的所有复选框,然后尝试将此行ID数组发送到CFC 低于CFC 当我尝试运行此函数时,我的服务器回答说,传递给removeCertidaoCRC函数的NUMSEQCERTIDAO参数不是数组类型。 我最近刚进入的一个延迟项目中的所有选项都用光了。 问题答案: jQuery可以很好地将数组分开发送,但是ColdFusion不能很好地处

  • 要将数组参数传递给函数,需指定不带方括号的数组名。例如,如果数组hourlyTemperatures声明如下: int hourlyTemperatures[24]; 则下列函数调用语句: modifyArray(hourlyTemperatutes,24); 将数组 hourlyTemperatures 及其长度传递给函数 modifyArray。将数组传递给函数时,通常也将其长度传递给函数,使

  • 问题内容: 这个问题已经在这里有了答案 : PHP-将PDO与IN子句数组一起使用 (8个答案) 5年前关闭。 我目前有一个值数组(business_id) 可以说 使用这些值中的每一个从数据库中获取每个business_id的关联行信息的最佳方法是什么。 可以一一查询是我的问题。显然,你可以做 问题答案: 通常的SQL注入警告仍然适用,您可能需要先循环遍历id以进行验证或转义。另外,如果希望使用