我在jQuery中实时获取带有$ .getJSON函数的JSON数据。我将此数据分配给此函数中的变量。但是我不能在这个函数中使用这个变量。我想在jQuery代码中到处使用这个变量。我该怎么办?
var anlikwar;
var anlikflood;
$.getJSON("ayarlar.asp",function(veri) {
$(".wfloodnum").html("Şu anki değer:" + veri.floodwarno);
});
var yenile = setInterval(function() {
$.getJSON("ayarlar.asp",function(veri) {
$(".wfloodnum").html("Şu anki değer:" + floodwarno);
anlikwar = veri.floodwarno;
});
},100);
$.getJSON("ayarlar.asp",function(veri) {
$(".nfloodnum").html("Şu anki değer:" + veri.floodnum);
});
var yenile = setInterval(function() {
$.getJSON("ayarlar.asp",function(veri) {
anlikflood = veri.floodnum
$(".nfloodnum").html("Şu anki değer:" + veri.floodnum);
});
},100);
答案 0 :(得分:1)
你可以(正如Kevin所说的那样在外部定义变量),或者你可以定义你想对变量执行的函数并像这样调用它。
function doSomething(thedata)
{
/// yay we have data
}
function getData() {
$.getJSON()
.done(function (r) {
doSomething(data);
});
}
这通常被认为比拥有全局变量更好。
答案 1 :(得分:0)
您需要在函数之外定义变量。
var data;
function getData() {
$.getJSON().done(function(result) {
data = result;
}
}
答案 2 :(得分:0)
在没有看到您的代码的情况下,我可以告诉您在收到变量之前将数据分配给变量。
根据定义,AJAX是异步的 - 查找首字母缩略词。在实际从服务器接收数据之前,您无法分配响应中收到的数据。使用回调函数成功(或完成)来执行数据所需的操作。
$.getJSON({
//..params
//..params
success: function(r,status,jqXHR) {
//your data is in variable r
}
}).done(function(r,status,jqXHR) {
//your data is in variable r
})
所有这一切,如果你有一个与你的代码相关的问题,在stackoverflow上你应该发布它。