2013-04-22 3 views
3

Я работаю и MVC4 и возвращаю список объектов для просмотра как Json. Фактически View делает вызов Ajax контроллеру для извлечения данных. Мне нужно поддерживать очередь этого объекта и отображать их на моей странице таким образом, что каждый объект будет отображаться в течение 10 секунд, а затем он будет заменен вторым объектом в очереди. Я использую следующий код, чтобы позвонить AjaxПоддержание очереди в JavaScript

function GetData() { 
    $.get("http://localhost:45533/Home/GetData/", function (data) { 
     ProcessData(data); 
     // Here i need to add [data] to Queue 
    }); 
} 

function ProcessData(data) { 
    $("#myDiv").append(data.Name+ "<br/>"); 
} 

$("#fetchBtn").click(function() { 
    // Here i need to get the next object in data from Queue 
}); 

В настоящее время я пользуюсь кнопкой, чтобы обновить его. Может ли кто-нибудь предложить, как я могу поддерживать очередь возвращаемых данных?

+2

Посмотрите на 'array.push()' и 'array.shift()' – Archer

ответ

0

Попробуйте это ...

var arData = []; 

function GetData() { 
    $.get("http://localhost:45533/Home/GetData/", function (data) { 
     ProcessData(data); 
     // Here i need to add [data] to Queue 
    }); 
} 

function ProcessData(data) { 
    arData.push(data) // add it to the end of the array 
    $("#myDiv").append(data.Name+ "<br/>"); 
} 

$("#fetchBtn").click(function() { 
    // Here i need to get the next object in data from Queue 
    var data = arData.shift(); // get the first item of the array 
}); 

arData.push(data) добавляет data к концу массива, в то время как arData.shift() возвращает первый элемент массива и удаляет его в то же самое время.

+0

Lol на -1, у которого нет причин для этого. Это именно то, о чем просили. – Archer

+0

Я ничего не сделал с -1? Возможно, глядя на ваш код, он как-то щелкнул – InTheWorldOfCodingApplications

+0

Не волнуйся, товарищ - я не думал, что это ты. Я расстроила кого-то на прошлой неделе, не соглашаясь с ними, и с тех пор они меня размножали. Admin все равно награждает меня очками. – Archer

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