Я хочу нарисовать фигуру эхарта в html по данным из flask. Но я столкнулся с некоторой проблемой при использовании ajax для преобразования данных в echarts, что фигура echarts не отображается в html. Я проверил данные, непосредственно установив их в javascript часть для echarts, и это работает. Здесь я хочу знать, в чем заключается ошибка в моем коде? Javascript часть
var myChart = echarts.init(document.getElementById('canvas'));
$document.ready(function(){
getData();
});
function getData(){
$.ajax({
url:'/getdata',
data:{},
type:'POST',
async:false,
dataType:'json',
success:function(data_temp){
myChart.setOption({
title:{
text:'loading asynchronously'
},
tooltip: {},
legend: {
data:['Sale']
},
xAxis: {
data: data_temp.language
},
yAxis: {},
series: [{
name: 'Sale',
type: 'bar',
data: data_temp.value
}]
});
window.onresize=function() {
resizemyChartContainer();
myChart.resize();
};
},
error:function(msg){
alert("System error");
}
});
};
Flask часть
from flask import render_template,Flask,jsonify,request,url_for
import json
app = Flask(__name__)
@app.route('/')
def hello():
return render_template('Application.html')
@app.route('/getdata',methods=[ 'POST'])
def get_data():
language = ['python', 'java', 'c', 'c++', 'c#', 'php']
value = ['100', '150', '100', '90', '80', '90']
return json.dumps({'language':language,'value':value})
if __name__ == '__main__':
app.run()
Рисунок Echart может быть показан как javascript код, записанный как
var myChart = echarts.init(document.getElementById('canvas'));
var option = {
title: {
text: 'loading asynchronously'
},
tooltip: {},
legend: {
data:['Sale']
},
xAxis: {
data: ['python', 'java', 'c', 'c++', 'c#', 'php']
},
yAxis: {},
series: [{
name: 'Sale',
type: 'bar',
data: ['100', '150', '100', '90', '80', '90']
}]
};
myChart.setOption(option);
window.onresize=function() {
resizemyChartContainer();
myChart.resize();
}
Что не так с javascript или flask код?