jQuery Как настроить глобальную проблему 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 ответа

Решение

Ваша переменная get_back внутри обратного вызова объявляется как локальная переменная, скрывая внешнюю. Удалить var из этого внутреннего объявления, превращая его в стандартное присвоение:

var get_back = "";

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

Мне трудно понять, что делает ваш код, но попробуйте это:

var get_back = ""; //Global Definition

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

Разница в том, что вы используете клавиатуру "вар" только один раз. Таким образом, когда он устанавливается позже в функции, это та же самая переменная. Когда вы используете var, вы используете локальное определение.

Удалите объявление var из функции обратного вызова:

var get_back = '';

$.get('php/get_username.php', { username: userName }, function(data) {
    get_back = data;
});
Другие вопросы по тегам