Javascript Morris.js每个人缺少标签书写
先谢谢你。 我有一个问题,在插件中,当我使用ajax创建一个带有“Morris.js”的条形图时,axis的每一个条形图都没有显示信息,但是如果我直接将“json”写入代码,它就可以正常工作,我的错误是什么?代码如下:Javascript Morris.js每个人缺少标签书写,javascript,Javascript,先谢谢你。 我有一个问题,在插件中,当我使用ajax创建一个带有“Morris.js”的条形图时,axis的每一个条形图都没有显示信息,但是如果我直接将“json”写入代码,它就可以正常工作,我的错误是什么?代码如下: $(document).ready(function(){ var numberOfSeconds=30*1000; //the interval of refreshing the information of the calls per server var x=g
$(document).ready(function(){
var numberOfSeconds=30*1000; //the interval of refreshing the information of the calls per server
var x=getTheInfoAboutTheServers();
//The m_graph contains an information
//and build the graph itself later we update the data with the m_graph.setData() function
var m_graph= Morris.Bar({
element: 'my_chart',
data: x,
xkey: 'y',
ykeys: ['a'],
labels: ['Number of calls']
});
/**
* This Function get the number of calls per each server
* return a JSON object to the morris.js pluggin
*/
function getTheInfoAboutTheServers(){
var inf=null;
$.ajax({
async: false,
type: "POST",
url : $('#site_url').val()+"index.php/Login_controller/mw_iaa_rawGraphInfoClient",
dataType: "JSON",
success: function(data){
var dataArr=[];
for (key in data) {
if (!isNaN(key)) {
var obj = data[key];
var mySplitResult = obj['callserver'].split(".");
var calls=parseInt(obj['numOfCalls']);
dataArr.push({ y: String(mySplitResult[0]), a : calls});
}
}
inf=dataArr;
}
});
return inf;
}
这是因为$.ajax在函数gettheinfoabouttheserver中异步执行。因此,该方法返回inf的值,即null,因为此时不执行ajax函数
要解决这个问题,您需要在ajax成功方法中调用另一个函数,将json作为参数传递,而不是将其分配给一个变量谢谢您的回答,但它确实返回了json,我看到了图形,在工具提示中也看到了所有内容,但在axis中,每隔一秒就有一列忽略了它的名称