在jQuery中使用变量的函数

时间:2013-06-30 12:28:12

标签: 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 = 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);

3 个答案:

答案 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上你应该发布它。