#javascript #node.js #ajax #fetch #client-server
#javascript #node.js #ajax #выборка #клиент-сервер
Вопрос:
В настоящее время у меня проблема, когда у меня есть страница с изображениями на моей веб-странице, которая динамически загружает изображения, которые пользователь может загрузить. На каждой карточке с картинками есть кнопка, по которой можно щелкнуть, чтобы отобразить новую страницу, содержащую комментарии к этой конкретной картинке. Информация о комментариях и изображениях хранится на сервере в виде массива. Я не уверен, как заставить кнопку на каждой карточке с изображением генерировать новую страницу без кодирования новой HTML-страницы в качестве одностраничного приложения. Кроме того, как бы мне передать значение заголовка рисунка на новую страницу, чтобы я мог фильтровать комментарии, включающие только те, которые относятся к конкретному изображению?У меня уже есть запросы get и post, которые возвращают все фотографии и комментарии с сервера. server.js
function loadpics() {
document.getElementById('insertpics').innerHTML=''
fetch ('http://127.0.0.1:8090/pics',{
method: 'GET',
headers: {
"Content-Type":"application/json"
}
})
.then((res) => { return res.json(); })
.then(pics => {
for (let pic of pics){
const y= `
<div class="card" style="width: 18rem;">
<img class="card-img-top" src=${pic.picurl} alt="Card image cap">
<div class="card-body">
<h5 class="card-title">${pic.username}</h5>
<p class="card-text">${pic.nameofpic}</p>
<a class="btn btn-info" href="#" >View Comments on this picture</a>
</div>
</div>
`;
document.getElementById('insertpics').innerHTML =y;
}
})
};
loadpics();
Как вы можете видеть, у меня есть кнопка в конце карточки, но я понятия не имею, как заставить ее генерировать пустую страницу только с комментариями, связанными с этой фотографией. Массив изображений имеет такую структуру [{«username»:»username»,»picname»:»nameofpic», «pic»:»pic.png»}], а массив комментариев имеет такую структуру [{«username»: «username», «picname»:»nameofpic»,»комментарий»:»комментарий»}]. Любая помощь будет с благодарностью! редактировать: кто-нибудь, пожалуйста, помогите.
Ответ №1:
Создайте новую страницу только из одного изображения и комментариев. Добавьте URL-адрес в тег «a». например http://127.0.0.1:8090/viewPic /{идентификатор}
Комментарии:
1. не могли бы вы как-нибудь объяснить, как я буду это делать, или предоставить более подробную информацию? Извините, я новичок в js и серверах
2. Как бы я создал страницу, одновременно убедившись, что у меня одностраничный стиль приложения, и как бы я заполнил страницу конкретными комментариями с помощью выборки?
3. Приведенный выше ответ не был предназначен для одностраничного приложения. Для SPA используйте JavaScript и CSS для изменения стиля карточек. Например: у вас может быть «активный» класс CSS, который изменяет свойства CSS-карты, чтобы охватить экран воли и т. Д., Затем с помощью js добавьте и удалите класс CSS для выбранного элемента.
4. есть ли шанс, что вы могли бы показать мне пример того, как я буду загружать этот css и js при нажатии кнопки? Извините, я все еще очень смущен.