我試圖從here得到天氣預報。這工作正常,我得到了我的價值。如果我做一個正常的Ajax調用它工作正常。ajax調用返回值,但變量爲空
但是:
function Weather() {
var self = this,
weatherUrl = 'http://api.openweathermap.org/data/2.5/weather?id=',
value = null;
function getWeatherForCity(id) {
$.ajax({
url: weatherUrl + id,
async: false,
success: function (data) {
console.log(data);
value = data;
}
});
}
self.getWeatherForCity = function (id) {
var cast = value;
console.log(cast);
return cast;
};
}
召喚:
weather = new Weather();
console.log(weather.getWeatherForCity('2878234'));
如果我通過這些功能的調試,我得到了很好的結果,成功的回調函數裏面,但投變量爲空,喜歡它從未被感動過?
有人可以向我解釋嗎?
讓我們開始吧wi 「async:false」這個事實是非常糟糕的,並且是不贊成的事情。 – Regent 2014-10-29 07:55:26
好吧,我知道,但這不是真的答案。 – Ipad 2014-10-29 07:56:21
問題是,你從來沒有真正調用'getWeatherForCity()'。因此,結果。 – dfsq 2014-10-29 07:59:37