У меня есть приложение 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 и отправляли это для меня. Как я могу это сделать?