变量在ajax之后出现空白,但在ajax成功函数中具有值

时间:2014-04-17 00:14:45

标签: javascript jquery ajax

正如标题所说,我有一个ajax函数,我用来调用一个函数,从我的mysql db中为js中的变量赋值。成功之后,我可以打印出回显的数据,并且它在控制台中显示得很好。但是,在ajax调用之后调用变量会产生一个空变量。到底是怎么回事?

以下代码:

request = $.ajax({ 
                        url: "/fans/get_url_tag", 
                        type: "post", success:function(data){url_tag = data; console.log(url_tag); //prints the correct value}, 
                        data: {'fbid': result.id} ,beforeSend: function(data){console.log(data);} 
                    });

//prints nothing
console.log(url_tag)

2 个答案:

答案 0 :(得分:1)

听起来范围是错误的。 也许只需在$ .ajax调用之前声明它:

var url_tag;
request = $.ajax({ 
                    url: "/fans/get_url_tag", 
                    type: "post", success:function(data){url_tag = data; console.log(url_tag);}, 
                    data: {'fbid': result.id} ,beforeSend: function(data){console.log(data);} 
                });

console.log(url_tag); //Should print the same value

答案 1 :(得分:0)

您需要将console.log放入回调函数中。