2016-07-21 2 views
0
$(document).ready (function() { 

    var shuffle = function(a) { 
    for(var j, x, i = a.length; i; j = parseInt(Math.random() * i), x = a[--i],     a[i] = a[j], a[j] = x); 
    return a; 
}; 

Я хочу, чтобы локальная переменная «FULLNAME» иметь Аякса данных, и я хочу использовать это для глобальной переменной «FULLNAME»Как сохранить данные ajax в глобальной переменной?

var fullName; 
var randomShuff = shuffle(fullName); 
var i = 0 

$(".runRandomPart").on('click', function() { 
    if(i == randomShuff.length) 
      i = 0; 
    return $('.main').html(randomShuff[i++]); 
}); 

Вот данные Аякса я пытаюсь сохранить в глобальная переменная. Возможно, это проблема с областью.

$.ajax({ 
    url: "/api/students", 
    dataType: 'json', 
    success: function(results){ 

     var arr = results; 

     for (d=0; d<arr.length; d++) { 
      fullName = arr[d].last_name + ", " + arr[d].first_name; 
     } 
    } 
}); 

Я попытался поместить все функции в функцию ajax, но это тоже не сработает.

ответ

0

Я нашел это. Я думаю, что это решит ваши требования: return responseText from jQuery.get()

+0

Вы правы, я случайно его покинул. Я исправил это в примере, но я до сих пор не могу получить данные из 'fullName' local в 'fullName' global – max

+0

ok, я думаю, что вам нужен оператор return, вы можете попробовать что-то вроде этого? : 'FULLNAME = $ .ajax ({ URL: "/ API/студентов", DATATYPE: 'JSON', успех: функция (результаты) { вар обр = результаты; вар FULLNAME = ''; для (d = 0; d

+0

Я пропустил var перед первым fullName (... вроде этого?: ** var ** fullName ...) –

0

Попробуйте вместо этого использовать window.fullName.

Смежные вопросы