若是使用ajax回調函數進行return的話,要設置ajax異步請求關閉,否則返回的是{} 而後若是別的地方調用這個方法的話就會發生console內有值可是length爲0的狀況 2019-8-1更新:當使用ajax把ajax所在方法內部的集合(數組)傳值給全局集合(數組)時也會發生length爲0可是裏面有數據的狀況 當前解決辦法爲改用在ajax所在方法內部聲明所需集合,而後經過return返回集合,經過var data = gettest(id);方式取值 若是有多個值能夠在方法內部再次聲明一個集合把獲得的多個數據都push進去,而後經過下標取值 function gettest(id) { var testData={}; $.ajax({ url: "", type: "get", data: {id:id}, async : false, success: function (res) { var data = res.data; serverData = data } } }); return testData; }