将python元组列表发送到不工作的JavaScript数组
我试图向javascript数组发送一个元组的python列表,但由于某些原因,它不起作用 python代码将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
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格式响应结果。你可以找到一个例子。可能您更应该在那里使用表单的提交事件