2013-06-30 2 views
-3

jQuery에서 $ .getJSON 함수를 사용하여 JSON 데이터를 실시간으로 가져오고 있습니다. 이 데이터를이 함수의 변수에 할당했습니다. 하지만이 변수를이 함수에서 사용할 수는 없습니다. 이 변수를 jQuery 코드의 모든 곳에서 사용하고 싶습니다. 내가 무엇을 할 수 있을지?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); 
+1

코드 또는 발생하지 않았습니다. – moonwave99

+1

일부 코드를 추가하면 downvoters가 행복하게 작동합니다. – OzrenTkalcecKrznaric

답변

0

변수를 함수 외부에 정의해야합니다.

var data; 

function getData() { 
    $.getJSON().done(function(result) { 
     data = result; 
    } 
} 
+0

OP가 실제로 서버에서 반환되기 전에 변수에 응답을 할당하려고하는 직감이 있습니다. – Adam

+0

가능성이 높습니다. 나는 우리가 그 (것)들에게서 이제까지 들릴 것이라는 점을 의심한다 –

+0

나는 그것을 시도했다 그러나 나의 문제를 해결하지 않았다. – Lightsaber

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에서 실제로 게시해야합니다.

+0

나는 그렇게했지만 내 문제를 해결하지 못했다. – Lightsaber

1

(Kevin이 변수를 외부에서 정의한 것처럼) 또는 변수에서 수행 할 함수를 정의하고이를 다음과 같이 호출 할 수 있습니다.

function doSomething(thedata) 
{ 
    /// yay we have data 
} 


function getData() { 
    $.getJSON() 
    .done(function (r) { 
     doSomething(data); 
    }); 
} 

이것은 일반적으로 전역 변수를 갖는 것보다 낫다고 간주됩니다.

관련 문제