2016-05-20 2 views
0

У меня проблема. У меня есть простой запрос в Parse.com Javascript SDK, который запускается при загрузке страниц.Javascript load more with parse query

function start() { 
    Parse.initialize("ID", "JSKEY"); 
    var query = new Parse.Query("events"); 
    query.ascending("eventDate"); 
    query.limit(20); 
    //query.skip(0); maybe? 
    query.find({ 
     success: function(results) { 
      for (var i = 0; i < results.length; i++) { 
       var controlEv = results[i]; 

       var nameHTML = document.createTextNode(controlEv.get('name')); 
       document.getElementById('theName').appendChild(nameHTML); 
      } 


     }, 
     error: function(error) { 
      alert("Error: " + error.code + " " + error.message); 
     } 
    }); 
} 

<body id="top" onload="start();"> 
    <p id="theName"></p> 

Так что теперь с этим запросом я получаю 20 результатов событий из parse.com Но таблица строк позволяет сказать, что 100 ... Я хочу сделать кнопку, которая будет загружать следующий 20 и, если я толкать он снова загрузит следующие 20 и т. д.

У кого-нибудь есть решение об этом или с ним связано ??

Я попытался нету ничего, но я предполагаю, что это что-то делать с query.skip и query.limit

+0

то, что вы хотите, это простая разбивка на страницы, в Интернете доступно множество обучающих программ, и да, вы правы, вы будете использовать Skip и Limit :-) –

ответ

0
<!DOCTYPE html> 
<html lang="en"> 
    <head> 
    <script type="text/javascript" src="http://www.parsecdn.com/js/parse-latest.js"></script> 
    <script> 
    var x = 20; 
    var y = 0; 
function start() { 

    Parse.initialize("ID", "KEY"); 
    var query = new Parse.Query("events"); 
    query.ascending("eventDate"); 
    query.limit(x); 
    query.skip(y); 
    query.find({ 
     success: function(results) { 
      for (var i = 0; i < results.length; i++) { 
       var controlEv = results[i]; 

       var nameHTML = document.createTextNode(controlEv.get('name')); 
       document.getElementById('theName').appendChild(nameHTML); 


      } 
      x = x + 20; 
      y = y + 20; 
console.log(results.length); 
     }, 
     error: function(error) { 
      alert("Error: " + error.code + " " + error.message); 
     } 
    }); 
} 
</script> 
    </head> 
    <body id="top" onload="start();"> 
    <p id="theName"></p> 
    <button type="button" onclick="start()">Click Me!</button> 
    </body> 
</html> 

Я думаю, что это лучший способ до сих пор, и вам не придется беспокоиться и о пределе 10000, что синтаксический имеет.