我有服务器端URL打印这些json数据。
{
"data_list": [
{
"Y_Value": value1,
"X_value": value2,
},
{
"Y_value": value3,
"X_value": value4,
},
]
}
我想把网址,把它放在链接到html文件的javascript文件中,在网页浏览器中将其显示为图表/图表。
以下是javascript文件的片段。
$(function () {
....
....
....
//some code
var line = new Morris.Line({
element: 'line-chart',
resize: true,
data: [
$.getJSON("http://<url>/mydata", function(data){
console.log(data);
var data_list = [];
);
}
],
ykey: ['Y_value'],
xkey: ['X_value'],
labels: ['Testing JSON get function'],
lineColors: ['#efefef'],
lineWidth: 2,
hideHover: 'auto',
gridTextColor: '#fff',
gridStrokeWidth: 0.4,
pointSize: 4,
pointStrokeColors: ["#efefef"],
gridLineColor: "#efefef",
gridTextFamily: "Open Sans",
gridTextSize: 10
});
});
以下是我的html文件的片段
{% extends "base.html" %}
{% block content %}
<!-- Content Wrapper. Contains page content -->
<div class="content-wrapper">
<!-- Content Header (Page header) -->
<section class="content-header">
<h1>
Dashboard
<small>Control panel</small>
</h1>
<ol class="breadcrumb">
<li><a href="#"><i class="fa fa-dashboard"></i> Home</a></li>
<li class="active">Dashboard</li>
</ol>
</section>
<!-- Main content -->
<section class="content">
...
...
...
(some other code)
...
<div class="row">
<!-- Left col -->
<section class="col-lg-7 connectedSortable">
<!-- Custom tabs (Charts with tabs)-->
<div class="nav-tabs-custom">
<!-- Tabs within a box -->
<ul class="nav nav-tabs pull-right">
<li class="active"><a href="#revenue-chart" data-toggle="tab">Area</a></li>
<li><a href="#sales-chart" data-toggle="tab">Donut</a></li>
<li class="pull-left header"><i class="fa fa-inbox"></i> Sales</li>
</ul>
<div class="tab-content no-padding">
<!-- Morris chart - Sales -->
<div class="chart tab-pane active" id="line-chart" style="position: relative; height: 300px;"></div>
<div class="chart tab-pane" id="sales-chart" style="position: relative; height: 300px;"></div>
</div>
</div>
</section>
</div>
</section>
</div>
我已经在我的
中重新检查了javascript文件的路径base.html
这是正确的。我输入了一个文件夹名称static。
<script src="{{ url_for('static', filename='dist/js/pages/dashboard.js')}}"></script>
我运行脚本但是当我打开浏览器时,它是空的。我的问题是我错过了剧本中的内容吗?如果我在javascript文件中如何正确实现getJSON函数?
我搜索了该函数,并根据这些链接https://www.sitepoint.com/ajaxjquery-getjson-simple-example/
编写了javascript和
http://api.jquery.com/jquery.getjson/
我不擅长使用javascript,谢谢你的帮助。这是我第一次尝试编写javascript,并希望如果有错误,它会打印在终端上,但没有。
答案 0 :(得分:2)
您需要将Morris.Line()
构造函数放在success
的{{1}}回调中,如下面的代码所示。
$.getJSON()
答案 1 :(得分:0)
您需要使用$.getJSON()
获取数据,然后在回调中初始化数据Morris.Line
$.getJSON("http://<url>/mydata", function(data) {
console.log(data);
var data_list = data.data_list;
//some code
var line = new Morris.Line({
data: data_list,
...
});
});