我正在尝试使用jQuery.get()函数从url获取数据,并将retreived数据设置为此jQuery.get()函数之外的变量。
var rating = 0;
$.get( "/qwerty/res/film/rating?volgnummer=2", function( data ) { // the url returns 99
rating = data;
$( ".content" )
.append(data); // returns 99 (as expected)
}, "json" );
alert(rating); // returns 0 (99 expected)
.append(data)返回正确的结果,但是当我在get函数之外提醒rating变量时,它返回0(应该是99)
为什么评级变量没有设置为99(来自数据)?
答案 0 :(得分:0)
因为ajax
是异步。 <{1}}在设置alert
的{{1}}回调之前运行。
(CW因为这样重复!)
答案 1 :(得分:0)
这种情况正在发生,因为alert
在$.get
完成执行之前被调用。
试试这个:
var rating = 0;
get_json(function(){
alert(rating);
});
function get_json(callback){
$.get( "/qwerty/res/film/rating?volgnummer=2", function( data ) { // the url returns 99
rating = data;
$( ".content" ).append(data); // returns 99 (as expected)
}, "json" );
}