高分与jQuery.ajax:如何初始化/作用域问题
Highscore with jQuery.ajax: How to Initialize / Scope Issue
我是JS的新手,所以这可能是一个愚蠢的问题…
我尝试做一个Hilicore Master/Detail图表(见示例http://jsfiddle.net/VhqaQ/)。data
数组应该用jQuery填充。ajax调用:
$(function () {
var masterChart,
detailChart,
data=[],
chatter=[],
indizies=[];
$(document).ready(function() {
$.ajax({
url: 'index.php',
data: 'type=1363435001',
dataType: 'json',
success: function(json) {
data = json.range;
scatter = json.scatter;
indizies = json.indizies;
},
error: function (xhr, status, error) {
alert('Status: ' + status +' Error: ' + error);
}
});
// create the master chart
function createMaster() {
masterChart = new Highcharts.Chart({
.......
series: [{
type: 'columnrange',
name: 'Intervall',
pointInterval: 1,
pointStart: 0,
data: data
}],
});
}
........
createMaster();
});
});
但是像这样,图表是空的。这是data
阵列的作用域问题吗?或者当new Highcharts.Chart( ...)
被调用时,data
还没有初始化?
也许我应该把ajax调用在其他地方?
在$的回调中调用createMaster()。调用Ajax并将数据传递给它。您目前假设在ajax调用初始化时已经返回了数据,但事实很可能并非如此。将函数调用放在回调函数内部,确保您的数据存在。
$.ajax({
url: 'index.php',
data: 'type=1363435001',
dataType: 'json',
success: function(json) {
data = json.range;
scatter = json.scatter;
indizies = json.indizies;
createMaster(data);
},
error: function (xhr, status, error) {
alert('Status: ' + status +' Error: ' + error);
}
});
// create the master chart
function createMaster(data) {
masterChart = new Highcharts.Chart({
.......
series: [{
type: 'columnrange',
name: 'Intervall',
pointInterval: 1,
pointStart: 0,
data: data
}],
});
}
相关文章:
- ng重复中的ng模型-初始化唯一作用域属性
- 初始化ng模型时,Angular ui选择占位符不起作用
- 尝试使在专用作用域中动态更改的变量全局化
- 在 Backbone 中将函数设置为属性.js给了我一个错误,但如果我在初始化方法中设置它,它会起作用
- 启动日期选择器格式在初始化时不起作用
- 用于脚本加载的预初始化jQuery代码不起作用
- 用Javascript初始化localStorage变量;在函数中不起作用
- 如果目标是避免污染全局作用域,为什么不让更多的人随机化他们的全局命名空间对象呢?
- 解析javascript函数中用于序列化的外作用域引用
- Mapbox.js -不能初始化map,除非它在全局作用域中可用
- 为什么angularjs的作用域是允许在初始化之前访问变量
- 在控制器和postLink初始化后,重置指令中的作用域变量;
- 在加载指令模板之前没有初始化指令的作用域,导致无法加载谷歌地图
- Ng-change和custom指令在初始化时使作用域变量未定义
- 改变控制器初始化的作用域对指令不起作用
- 高分与jQuery.ajax:如何初始化/作用域问题
- 为什么初始化几个变量会导致作用域泄漏
- 在 for 循环中初始化的变量的作用域规则
- 使用 php 从数据库填充初始化 jquery 数组时,Jquery 标签编辑器不起作用
- 在控制器中初始化嵌套的作用域变量