1. 程式人生 > >ajax_ajax從json資料中取其中某一值,輸出未定義

ajax_ajax從json資料中取其中某一值,輸出未定義

問題:flag1能正常輸出,flag2卻輸出未定義

var flag ;
$.getJSON("#",function(json){
    flag = json.flag;
    alert("flag1:" + flag );
});
alert("flag2:" + flag );

原因:因為ajax預設是非同步請求,所以你會發現會輸出flag2,後輸出flag1,從而導致flag2輸出‘未定義’;

解決方案:把ajax設定為同步請求

var flag ;
$.ajax({
           type: "POST",
           url: "app/getLoginUser.do"
, async : false , //設定為同步請求 dataType : "json", success: function(data){ flag = data.flag ; } }); alert(flag);