在jQuery中使用函数外的变量
我使用jQuery中的$.getJSON函数实时获取JSON数据。我将此数据分配给此函数中的一个变量。但是我不能在这个函数外使用这个变量。我想在jQuery代码中的任何地方都使用这个变量。我能做什么在jQuery中使用函数外的变量,jquery,ajax,Jquery,Ajax,我使用jQuery中的$.getJSON函数实时获取JSON数据。我将此数据分配给此函数中的一个变量。但是我不能在这个函数外使用这个变量。我想在jQuery代码中的任何地方都使用这个变量。我能做什么 var anlikwar; var anlikflood; $.getJSON("ayarlar.asp",function(veri) { $(".wfloodnum").html("Şu anki değer:" + veri.floodwarno); }); var yenile = setI
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);
您需要在函数外部定义变量
var data;
function getData() {
$.getJSON().done(function(result) {
data = result;
}
}
在没有看到您的代码的情况下,我可以告诉您,在接收数据之前,正在将数据分配给变量 根据定义,AJAX是异步的——请查阅首字母缩略词。在实际从服务器接收数据之前,无法分配在响应中接收的数据。使用回调函数success或done来处理数据
$.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上,如果您有一个与代码相关的问题,您应该发布它。您可以像Kevin所说的那样从外部定义变量,或者您可以定义要对变量执行的函数,并这样调用它
function doSomething(thedata)
{
/// yay we have data
}
function getData() {
$.getJSON()
.done(function (r) {
doSomething(data);
});
}
通常认为这比使用全局变量要好。我有一种预感,OP试图在从服务器实际返回变量之前将响应分配给变量。可能性更大。我怀疑我们是否会从他们那里听到任何代码,或者它没有发生。添加一些代码,这样你会让他们感到高兴