0

我正在尝试使用 jQuery.get() 函数从 url 获取数据并将检索到的数据设置为此 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(来自数据)?

4

2 回答 2

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" );
}
于 2013-10-28T10:52:12.303 回答
0

因为ajax异步的。您在设置的回调之前alert运行。ajaxrating


(CW,因为这是重复的!)

于 2013-10-28T10:48:50.893 回答