如何在Javascript函数中嵌入JS的AJAX输出
解决这个问题对我来说是一场噩梦。我正在使用phonegap开发一个应用程序。我在图中使用了highcharts。图形正确显示,但未显示图形中的工具提示。请检查下面的代码,我需要这个代码能够显示正确的数据的工具提示。必须有以下代码的循环,并且必须针对图中的每个用户或序列。因此,我在PHP中运行了一个for循环,并将其保存在一个变量中,然后使用AJAX以JSON格式获得了循环的整个输出 当我在保存AJAX输出的Javascript代码中使用变量时,它不会做任何事情,但如果我发出警告,它会警告我想要使工具提示工作的确切代码。我也试过eval(),但没有效果。任何帮助或指导都将不胜感激 循环代码如何在Javascript函数中嵌入JS的AJAX输出,javascript,php,jquery,ajax,highcharts,Javascript,Php,Jquery,Ajax,Highcharts,解决这个问题对我来说是一场噩梦。我正在使用phonegap开发一个应用程序。我在图中使用了highcharts。图形正确显示,但未显示图形中的工具提示。请检查下面的代码,我需要这个代码能够显示正确的数据的工具提示。必须有以下代码的循环,并且必须针对图中的每个用户或序列。因此,我在PHP中运行了一个for循环,并将其保存在一个变量中,然后使用AJAX以JSON格式获得了循环的整个输出 当我在保存AJAX输出的Javascript代码中使用变量时,它不会做任何事情,但如果我发出警告,它会警告我想要使
$toolTip = '';
for($i=0;$i<$teamControllerW->total_user;$i++){
$toolTip .= "var chart = $('#team_containerWF').highcharts();";
$toolTip .= "var figures".$i." = [".join($teamControllerW->new_yAxesData1[$i], ",") ."]; ";
$toolTip .= "var fatVals".$i." = [". join($teamControllerW->fatVal[$i], ',') ."]; ";
$toolTip .= "var weightVals".$i." = [". join($teamControllerW->weightVal[$i], ',') ."]; ";
$toolTip .= "var result_playing_dates = [". join($teamControllerW->new_playing_dates_data[$i], ',') ."]; ";
$toolTip .= "
$.each(figures".$i.", function (j, figure".$i.") {
var curDanger = (figure".$i."[0] - danger[0][0]) * delta + danger[0][1];
var play_date = false;
for (var k = 0; k < result_playing_dates.length ; k ++ ) {
if (figure".$i."[0] == result_playing_dates[k]) {
play_date = true;
break;
}
}
";
$toolTip .= "if (figure".$i."[1] > curDanger) {
if (play_date) {
if (chart.series[".$i."].data[j] && chart.series[".$i."].data[j].graphic) {
chart.series[".$i."].data[j].graphic.attr({ fill: '#a31515' });
chart.series[".$i."].data[j].update({
fatVal : fatVals".$i."[j],
weightVal : weightVals".$i."[j],
marker:{
fillColor: '#a31515',
radius: 6,
states: {
hover: {
fillColor: '#a31515',
lineColor: '#a31515',
radius: 10
}
}
}
});
}
}
else {
if (chart.series[".$i."].data[j] && chart.series[".$i."].data[j].graphic) {
chart.series[".$i."].data[j].graphic.attr({ fill: 'red' });
chart.series[".$i."].data[j].update({
fatVal : fatVals".$i."[j],
weightVal : weightVals".$i."[j],
marker:{
fillColor: 'red',
states: {
hover: {
fillColor: 'red',
lineColor: 'red'
}
}
}
});
}
}
}else{
if (play_date) {
if (chart.series[".$i."].data[j] && chart.series[".$i."].data[j].graphic) {
chart.series[".$i."].data[j].graphic.attr({ fill: '#02491a' });
chart.series[".$i."].data[j].update({
fatVal : fatVals".$i."[j],
weightVal : weightVals".$i."[j],
marker:{
fillColor: '#02491a',
radius: 6,
states: {
hover: {
fillColor: '#02491a',
lineColor: '#02491a',
radius: 10
}
}
}
});
}
}
else {
if (chart.series[".$i."].data[j] && chart.series[".$i."].data[j].graphic) {
chart.series[".$i."].data[j].graphic.attr({ fill: 'green' });
chart.series[".$i."].data[j].update({
fatVal : fatVals".$i."[j],
weightVal : weightVals".$i."[j],
marker:{
fillColor: 'green',
states: {
hover: {
fillColor: 'green',
lineColor: 'green'
}
}
}
});
}
}
}
});
";
}//end for
好的,这听起来像是AJAX调用的“循环代码”已经通过js代码“var chart=$(“#team_containerWF”)。highcharts();…”但是,这永远不会被主页执行。传递的AJAX结果理想情况下应该是JSON/XML,然后只包含数据的名称-值对。这样,您正在查看的主代码将:
var teamweighinLMgameAction = window.localStorage.getItem("teamweighinLMgameAction");
AGWeigh = JSON.parse(teamweighinLMgameAction);
var toolTip = AGWeigh.toolTip;
alert(toolTip);//On alert it comes fine
if(data_avail=='yes') { //check if data available
var danger = myDangerLine,
deltaX = danger[1][0] - danger[0][0],
deltaY = danger[1][1] - danger[0][1],
delta = deltaY / deltaX;
alert("In: "+toolTip);//the data also alerts fine here
toolTip; //This is the place where I need the loop output but it nothing comes up
}