загрузить больше кнопки в nodejs - PullRequest
0 голосов
/ 12 октября 2018

У меня есть файл json на странице series.pug.Когда я нажимаю кнопку «Загрузить еще», я хочу сделать запрос в JSON-файл и добавить новый элемент на странице.Как я могу увеличить нагрузку с помощью NodeJS или AJAX на странице мопса?

extends layout
block content
    .content(style='padding-bottom: 100px;')
     #titles
      .container
        .row
         .col-md-12
          .form-group.text-center
           label.col-md-2.text-right Quick Filter
           input.search.col-md-6.text-center(type="text",placeholder='Search series quickly')
        .row.list
         -var count = 0
          each value in data.entries
            -if(value.programType =='series')
             if(count!=18)
              .col-md-3.col-sm-6.col-lg-2.series(data-item-id=++count)
               figure.figure
                a(href='/details/'+value.title)
                 img.figure-img.img-fluid.rounded(src=value.images['Poster Art'].url, alt=value.title)
                 .name.figure-caption.text-center.text-dark=value.title
          .col-lg-12
           a.btn.btn-primary.text-light.load Load More
           script.
            $('.load').click(function(){
                var lastchild = $('.series').last().data('item-id');
                $.ajax({
                    url: '/request',
                    method: 'POST',
                    data:{'lastchild':lastchild},
                    success: function(response){ 

                    }
                 });
                });

1 Ответ

0 голосов
/ 12 октября 2018

Вам нужно создать новый маршрут, к которому вы можете сделать вызов API, который возвращает только частичный HTML.Итак, что-то вроде этого:

$.ajax('/loadmore?data=jsonFileName&template=pugTemplateName&startIndex=10&load=20');

Тогда в узле вы будете иметь логику для прослушивания этого маршрута, и когда он войдет, у вас будет узел построить свой HTML, используя вашмопс шаблон.

Таким образом, параметры вашего запроса в этом примере будут такими:

data = .json file to pull data from
template = .pug file to use as template, should not `extend layout`
startingIndex = starting index for getting data from .json file
load = number items to render html for

Наконец, вам нужно использовать шаблон мопса, который не extend layout, поэтому вы получаете только <div> назад, а не весь <html> документ.В шаблоне pug извлеките файл json, переберите нужное количество элементов (заданное параметром startIndex и загрузите), а затем отправьте результат файла pug обратно в браузер.

Результатом вызова AJAX будет частичный html, такой как <div> или <ul>, но не весь документ <html>.Затем вы можете просто добавить его на свою веб-страницу, где он должен отображаться.

Очевидно, что это всего лишь приблизительное руководство по тому, как это сделать, но если вы настроите логику, подобную этой, вы можете использовать этот вызов для любой load-more функциональности, которая может вам понадобиться на вашем сайте.Если вы разместите свой исходный код на github, я мог бы дать больше подробностей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...