Узел Express нумерация страниц - PullRequest
0 голосов
/ 19 марта 2020

У меня есть приложение Express с базой данных mySQL. На странице HTML пользователь может установить некоторые флажки и нажать кнопку «Поиск», которая отправляет запрос GET.

<form method="GET" action="/search-results">
    <div id="form-group">
        <div class="form-checkbox">
        <input class="form-control" value="newyork" type="checkbox" name="city">
        <label>New York</label>
    </div>
    <div class="form-checkbox">
        <input class="form-control" value="canberra" type="checkbox" name="city">
        <label>Canberra</label>
    </div>
    <div class="form-checkbox">
        <input class="form-control" value="venice" type="checkbox" name="city">
        <label>Venice</label>
    </div>
    <input class="btn btn-primary" type="submit" value="Search">
</form>

сервер. js:

app.get('/search-results', function(req, res) {
    let parameters = {
        city: req.query.city,
        page: req.query.page
    }

    //queryProcessor performs the query and returns 10 results with offset based on page
    queryProcessor.query(parameters, res);
});

results.pug :

extends layout

block content
    h1 #{title}
    ul
        each user, i in users
            li
                div
                    span= user.fname + " " + user.surname
                    br
                    span= "country: " + user.country
                    br
                    span= "city: " + user.city
    a(class='button' href='<???>') Previous
    br
    a(class='button' href='<???>') Next

Теперь, когда у меня есть такой URL-адрес:

/search-results?city=newyork&city=venice&page=1

И я вручную изменяю URL-адрес и задаю другую страницу (например, &page=2), это работает.

Но мне бы хотелось иметь нумерацию страниц или, по крайней мере, кнопки Next и Previous, которые бы просто брали текущий URL, меняли значение параметра page на +1 или -1 и отправляли это для меня. Как я могу это сделать?

...