为什么这会变为null而不是设置为从ajax调用返回的数据?它一定是我忽略的简单。
var message;
$(document).ready(function(){
fbFetchMessage();
alert(message);
});
function fbFetchMessage(){
var url = "http://graph.facebook.com/companyname/feed?callback=?";
$.getJSON(url,function(json){
message = json.data[0].message;
});
}
答案 0 :(得分:7)
消息 正在更改,但 后调用提醒
试试这段代码并亲自看看:
var message;
$(document).ready(function(){
fbFetchMessage();
alert(message);
});
function fbFetchMessage(){
var url = "http://graph.facebook.com/companyname/feed?callback=?";
$.getJSON(url,function(json){
message = json.data[0].message;
alert("really it gets changed:"+message);
});
}
答案 1 :(得分:4)
$.getJSON
与任何其他.ajax()
一样(实际上,通常是AJAX)运行 asyncronously (默认情况下)。
这意味着,您尝试在之前提醒{/ 1}} 您的成功处理程序可以实际定义它。
要解决此问题,您可能需要使用jQuerys Deferred
help对象(如果您使用的是1.5.0 +)
message