取得Ajax回傳值使用JQuery

今天遇到一個問題,分享一下給可能遇到這個問題的朋友

假如我在一個function裡面要使用AJAX去取得回傳的值再回傳,如下:

function get_init_item_json_data()
{
var d;

jQuery.ajax({
url: ‘/pages’,
type: ‘get’,
dataType: ‘json’,
success:function(data)
{
d = data;
}
});

return d;
}

但是此時會發現d其實undefined

後來發現因為AJAX是非同步處理造成的

這時改為

function get_init_item_json_data()
{
var d;

jQuery.ajax({
url: ‘/pages’,
type: ‘get’,
dataType: ‘json’,
async:false
success:function(data)
{
d = data;
}
});

return d;
}

這樣就可以了