2015-09-01 47 views
-1
$('#liveUpdate').click(


     $.getJSON("http://freegeoip.net/json/", function(data) { 
      var country = data.country_name; 
      var ip = data.ip; 
     }); 

     alert(country); 

    }); 

我想使用countrygetJSON以外,但不是正確的結果。試圖定義click函數的變量頂部,但沒有解決我的問題。如何在函數外部使用變量?

我該如何解決?

+1

你可以試試'$( '#的LiveUpdate')。點擊(函數(){ VAR國家= NULL; $ .getJSON( 「http://freegeoip.net/json/」,功能(數據){ 國家= data.country_name; 變種IP = data.ip; }); alert(country); });' – Sushil

+1

@Sushil:這是行不通的。 AJAX是*異步*。 –

+0

@Bergi - 嘿,你得到了正確的,因爲我點擊關閉相同的目標:) –

回答

-1

更改您的方法以使用ajax的異步特性。

假設你想在一個函數中使用國家

function someFunction(country){ 
    //country used here 
} 

然後AJAX的成功回調中調用它

$('#liveUpdate').click(function(){ 
     $.getJSON("http://freegeoip.net/json/", function(data) { 
      country = data.country_name; 
      var ip = data.ip; 
      someFunction(country); 
     }); 

    });