相关疑难解决方法(0)

表单输入字段名称包含方括号,如字段[index]

我已经看到很多PHP代码处理表单输入,其中输入字段名称包含方括号.据我所知,当PHP脚本检查$ _POST变量时,这会以某种方式导致PHP数组.

示例HTML:

<form action='http://zzz.com' method='post'>
    <input name='fruit[1]' value='apple' />
    <input name='fruit[2]' value='banana' />
</form>
Run Code Online (Sandbox Code Playgroud)

示例网址:

http://zzz.com?fruit[1]=apple&fruit[2]=banana
Run Code Online (Sandbox Code Playgroud)

示例PHP:

assert($_POST['fruit'] === array(1=>'apple', 2=>'banana'));
Run Code Online (Sandbox Code Playgroud)

我对此有疑问:

  • 它背后的机制是什么?这些包含括号的名称在什么时候被转换为数组?这是HTTP协议的一个特性吗?网络服务器?PHP语言?

  • 继续上一个问题,这是一个常用的黑客还是普通的编程工具?

  • 在输入字段名称中使用括号的规则是什么(全部)?

  • 可以用这种方式创建多维数组吗?

php forms

20
推荐指数
2
解决办法
1万
查看次数

如何使用flask将javascript数组传递给python脚本[使用flask示例]

我试图让flask/jquery/ajax示例适用于我的特定情况,但我每次都会变短.我知道有几次问这个问题,但答案对我没有帮助(是的,我是新手).

该示例将字符串从javascript传递给python.我想传递一个数组.网络表明这是可能的.这是我有的:

HTML/Flask模板:

{% extends "layout.html" %}
{% block title %}Test{% endblock %}
{% block content %}
    <div>
      <h1>Flask Jquery Test</h1>
      <div>
        <input type="button" value="Transfer" id="button" />
      </div>
      <div>
        Wordlist<br />
        <select multiple="multiple" id="wordlist" size="5">
            <option>Volvo</option>
            <option>Audi</option>
            <option>BMW</option>
            <option>Mercedes</option>
            <option>Toyota</option>
        </select>
        <span id="result"></span>
      </div>
    </div>
{% endblock %}
Run Code Online (Sandbox Code Playgroud)

JS脚本:

$(document).ready(function() {
    $("#button").bind('click', function(){
        //Get all words from list
        var list = [];
        $("#wordlist option").each(function(){
            list.push($(this).val());
        });
        //var list = $( "#wordlist option" ).val();
        console.log(list);
        $.getJSON($SCRIPT_ROOT + '/_array2python', { …
Run Code Online (Sandbox Code Playgroud)

javascript python arrays ajax flask

8
推荐指数
1
解决办法
8993
查看次数

将Javascript数组传递给Flask

我在flask中有一个名为array的函数,它接受一个列表并打印出列表中的项目:

def array(list):
    string = ""
    for x in list:
        string+= x
    return string
Run Code Online (Sandbox Code Playgroud)

在客户端,我想将名为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 ) }}";
Run Code Online (Sandbox Code Playgroud)

javascript python flask

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

flask ×2

javascript ×2

python ×2

ajax ×1

arrays ×1

forms ×1

php ×1