Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/368.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
将python元组列表发送到不工作的JavaScript数组_Javascript_Python_Arrays_Json_Flask - Fatal编程技术网

将python元组列表发送到不工作的JavaScript数组

将python元组列表发送到不工作的JavaScript数组,javascript,python,arrays,json,flask,Javascript,Python,Arrays,Json,Flask,我试图向javascript数组发送一个元组的python列表,但由于某些原因,它不起作用 python代码 import json app = Flask(__name__) @app.route('/', methods=['GET', 'POST']) def stock_table(): if request.method == "POST": data = [('abc','efg','hij', "klm"), ('n

我试图向javascript数组发送一个元组的python列表,但由于某些原因,它不起作用

python代码

import json
app = Flask(__name__)
@app.route('/', methods=['GET', 'POST'])
def stock_table():
    if request.method == "POST":

        data = [('abc','efg','hij', "klm"), ('nop','qrs','tuv', "wxyz")]
        string_data="'"
        string_data+=str(json.dumps(data))
        string_data+="'"
        return render_template('index.html', result=string_data)
    
    else:
        return render_template('index.html')

if __name__ == '__main__':
app.run()
<!DOCTYPE html>
<html>
<body>
    <h3> Show stock pie graph </h3>
    <form action="{{ url_for('stock_table') }}" method="post">
        Enter User Name:  <input type = "text" name= "user_name" />
            <input type="submit"  value="Go!">
            <p id="result"></p>

            
    </form>

    <script> 
    var array_start ="{{ result }}";
    arrayOfArrays = JSON.parse(array_start);
    document.getElementById("result").innerHTML = arrayOfArrays;
    </script>

</body>
</html>
string_数据
显示为:
'[[“abc”、“efg”、“hij”、“klm”]、[“nop”、“qrs”、“tuv”、“wxyz”]”

javascript代码

import json
app = Flask(__name__)
@app.route('/', methods=['GET', 'POST'])
def stock_table():
    if request.method == "POST":

        data = [('abc','efg','hij', "klm"), ('nop','qrs','tuv', "wxyz")]
        string_data="'"
        string_data+=str(json.dumps(data))
        string_data+="'"
        return render_template('index.html', result=string_data)
    
    else:
        return render_template('index.html')

if __name__ == '__main__':
app.run()
<!DOCTYPE html>
<html>
<body>
    <h3> Show stock pie graph </h3>
    <form action="{{ url_for('stock_table') }}" method="post">
        Enter User Name:  <input type = "text" name= "user_name" />
            <input type="submit"  value="Go!">
            <p id="result"></p>

            
    </form>

    <script> 
    var array_start ="{{ result }}";
    arrayOfArrays = JSON.parse(array_start);
    document.getElementById("result").innerHTML = arrayOfArrays;
    </script>

</body>
</html>

显示股票饼图
输入用户名:

var数组_start=“{{result}}”; arrayOfArrays=JSON.parse(array_start); document.getElementById(“结果”).innerHTML=arrayOfArrays;
当我运行程序时,它不会显示任何错误,但不会显示结果

我还尝试使用我在javascript中创建的字符串,只需复制它,就可以了

我认为问题在于,当元组中包含字符串时,JSON.parse函数对我从python发送的数据不起作用,当它只是数字时,它就可以正常工作


任何帮助都将不胜感激

我不知道你在干什么

您可以使用将数据转换为符合JSON的字符串。注意引号也很重要

@app.route('/', methods=['GET', 'POST'])
def stock_table():
    data = []
    if request.method == "POST":
        data = [('abc','efg','hij', 'klm'), ('nop','qrs','tuv', 'wxyz')]
    return render_template('index.html', data=data)

{{data | tojson | safe}

常量数据=“{data | tojson | safe}}”; log(JSON.parse(data)); document.getElementById('result').innerHTML=data;

如果您想使用AJAX,可以在路由中使用JSON格式响应结果。你可以找到一个例子。可能您更应该在那里使用表单的提交事件