jQuery如何设置全局变量问题?

时间:2011-04-13 00:28:05

标签: jquery global-variables

我想要设置一个全局var来通过我的整个脚本使用。而且看起来很简单,我无法让它发挥作用:

get_back = "";  //should be a global var or
var get_back = "";// another option

$.get('php/get_username.php', { username: userName }, function(data){
    var get_back = data;
    alert(get_back);
});

我希望能够将get_back用于url: 'http://www.xxx.com/users/' + get_back + ''

任何想法?

由于

3 个答案:

答案 0 :(得分:2)

我很难理解你的代码在做什么,但试试这个:

var get_back = ""; //Global Definition

$.get('php/get_username.php', { username: userName },
function(data){
  get_back = data;
  alert(get_back);
});

不同之处在于您只使用键盘“var”一次。这样,当它在函数中稍后设置时,它就是相同的变量。使用var时,强制使用本地定义。

答案 1 :(得分:1)

回调中的变量get_back被声明为局部变量,隐藏了外部变量。从该内部声明中删除var,将其转换为沼泽标准赋值:

var get_back = "";

$.get('php/get_username.php', { username: userName },
function(data){
    get_back = data;
    alert(get_back);
});

答案 2 :(得分:1)

从回调函数中删除var声明:

var get_back = '';

$.get('php/get_username.php', { username: userName }, function(data) {
    get_back = data;
});