我通过使用ajax从mysql获得了一些价值。
但我不能在HighCharts中使用它。
很快就会这样:
var Name;
(function riza() {
$.ajax({
url: './riza.php',
type: 'POST',
dataType: 'json',
success: function(result) {
Name = Number(result['Name']);
setTimeout(riza, refresh);
//...some code here
alert(Name); //FIRST ALERT
}
});
}());
(function test(){
alert(Name); //SECOND ALERT
setTimeout(test,1000);
}());
$(function() {
$(document).ready(function() {
Highcharts.setOptions({
global: {
useUTC: false
}
});
new Highcharts.Chart({
chart: {
style: {...},
events: {...}
},
title: {...},
xAxis: {...},
yAxis: {
title: {
text: 'A'+ Name //I WANT USE IT HERE
},
series: [{...},{...}]
});
}
});
});
FIRST ALERT显示“医院”。 这是真的,我想要它。
SECOND ALERT显示“未定义”,而不是间隔显示“医院”。
所以我不能在highcharts中使用它。我认为HighCharts必须等待ajax。
我该怎么做?
答案 0 :(得分:0)
尝试这样的事情
function riza() {
var Name;
$.ajax({
url: './riza.php',
type: 'POST',
async:false,
dataType: 'json',
success: function(result) {
Name = Number(result['Name']);
setTimeout(riza, refresh);
//...some code here
alert(Name); //FIRST ALERT
}
});
return Name;
}//end function
(function test(){
Name = riza();
alert(Name); //SECOND ALERT
setTimeout(test,1000);
}());
答案 1 :(得分:0)
你可以试试这个
$(function(){
var name = "your initial value"
getHighcharts(name);
});
在ajax成功通话函数中
$.ajax({
url: './riza.php',
type: 'POST',
dataType: 'json',
success: function(result) {
Name = Number(result['Name']);
setTimeout(riza, refresh);
//...some code here
alert(Name); //FIRST ALERT
getHighcharts(Name);
}
});
function getHighcharts(name){
// your Highcharts code with passed name
}