2016-09-14 53 views
0
$.ajax({  
    type: "post", 
    dataType:"json", 
    url: "json.php", 
    success: function(a) { 
     var test = a.data[0]['id']; 
    } 
    }); 

alert(test); //not working 
+0

究竟價值它提醒如未定義或其他任何 –

+0

您需要定義測試作爲一個全局變量 –

+0

http://stackoverflow.com/questions/14220321/how-do-i -return最響應-FR om-an-asynchronous-call – naortor

回答

0

變量test不是全局定義的,它不會警告該值。 試試這個

var test; 
$.ajax({  
    type: "post", 
    dataType:"json", 
    url: "json.php", 
    success: function(a) { 
    test = a.data[0]['id']; 
    } 
}); 

alert(test); 
+0

另外它是異步調用,它可能會提醒'undefined',因爲java腳本會調用ajax並移到下一個語句。 –

0

你VAR test不是全球性的,而且ajax是異步調用,即使你使用的全局variable作爲警報,而Ajax是從服務器的響應等待將首先執行它會提醒測試undefined .. 。所以使用方法如下

function test(a) { alert(a); } 
$.ajax({  
    type: "post", 
    dataType:"json", 
    url: "json.php", 
    success: test 
    });