我知道这可能是最愚蠢的问题,但它是一个绝望的尝试来自UI人做某事......我从json文件中获取了一些值,然后我传递这些值来绘制一个使用jflot的图表。
//脚本
function plot4() {
$.getJSON("wc.json",function(data){
$.each(data.posts, function(i,data){
var wc = data.title;
alert(wc);
});
});
function drawPlot() {
alert(wc);
// function which draws plot using jFlot using a huge dataset
}
}
我可以将getjson文件包装在drawPlot函数之外吗?pls advice
答案 0 :(得分:1)
不,因为您声明wc
(通过var wc
)属于“每个”区块的范围。
要做你想做的事,你需要:
将wc
移至包含两个函数的范围
function plot4() {
var wc;
$.getJSON("wc.json",function(data){
$.each(data.posts, function(i,data){
wc = data.title;
或者,如果您真的希望从drawPlot
循环中调用each
(您似乎没有全部调用它!),请将wc
作为参数传递它呢
// ... some other code
var wc = data.title;
drawPlot(wc);
// ... some other code
function drawPlot(wc) {
alert(wc);
// function which draws plot using jFlot using a huge dataset
}
答案 1 :(得分:1)
参数有什么问题?
function plot4() {
$.getJSON("wc.json",function(data){
$.each(data.posts, function(i,data){
var wc = data.title;
drawPlot(wc);
});
});
function drawPlot(wc) {
// function which draws plot using jFlot using a huge dataset
}
}
...或:
function plot4() {
$.getJSON("wc.json",function(data){
$.each(data.posts, function(i,data){
var wc = data.title;
drawPlot(wc);
});
});
}
function drawPlot(wc) {
// function which draws plot using jFlot using a huge dataset
}