Loading...

Във форума е въведено ограничение, което позволява на потребителите единствено да разглеждат публикуваните въпроси.

mr.ivanov avatar mr.ivanov 18 Точки

Node JS - Задача Cat Shelter

Здравейте стигнах до 5 точка, но така и не успях да пусна сървъра и да заредя котките. Има ли някой който да я е решил ?

Това е решението ми дотук. Но не зарежда html home страницата.

 Ако някой може да каже къде бъркам ?

 

https://github.com/xakepa/SoftUni/tree/master/JS%20WEB/Node%20JS/Cat%20Shelter

Тагове:
0
Node & Express.js 06/05/2020 18:49:53
EmanuilNikolov avatar EmanuilNikolov 33 Точки

Това, което ми се наби в очите беше тази част

 const pathname = url.parse(req.url).pathname;

    if (pathname === '/' && req.method === 'GET') {
        const filePath = path.normalize(
            path.join(__dirname, '../views/home/index.html')
        );
    } else {
        return true;
    }

 

- промених го на

 

   const pathname = url.parse(req.url).pathname;
    let filePath="" ;
    if (pathname === '/' && req.method === 'GET') {
         filePath = path.normalize(
            path.join(__dirname, '../views/home/index.html')
        );
    } else {
        return true;
    }

и зареди фаиловете :)

1
mr.ivanov avatar mr.ivanov 18 Точки

Благодаря за помоща. Сега имам друг проблем.

 Стигнах до момента където трябва да заредя html файловете addCat.html и addBreed.html и забих вече 2 часа. Опитвам се да ги заредя с помоща на cat.js handler-a, но каквото и да правя не работи. Импортнах го в handlers/index.js но пак не работи. Странното е че като копирах кода във handlers/home.js и проработи зарежда успешно addCat.html и addBreed.html

Да не би да трябва да зареждам всички views само от home.js handler-a и ако да защо ?

Къде греша ? 

Направих нов branch в git.

https://github.com/xakepa/SoftUni/tree/catHandlerIssue/JS%20WEB/Node%20JS/Cat%20Shelter/handlers

0
22/05/2020 13:08:16
Safi28 avatar Safi28 0 Точки

В html страниците на addCat и addBread трябва да попълниш формата:

<form action="" method="" class="cat-form" enctype="multipart/form-data">

в action добавяш пътя, за който проверяваш в cat.js handler-a и същото за addBread.
 

0
mr.ivanov avatar mr.ivanov 18 Точки

В този случай формата мисля че няма значение, аз се опитвам да заредя addCat.html и addBreed.html с помоща на handler/cat.js

 

Все пак опитах и промених формата на:

<form action="/cats/add-cat" method="POST" class="cat-form" enctype="multipart/form-data">

но нямаше полза. Иначе добавя ли същата логика в другия handler с име home.js веднага addCat.html и addBreed.html зареждат без проблем. В последната ми промяна добавих свой метод за четене на файлове и ги изнесох в отделна функция handlers/readHtml за да не се повтарям постоянно, но това също не е от значение защото проблема е същият.

В картинката съм добавил само addCat.html и се зарежда успешно когато се изпълнява от home.js

Все още опитвам да зареждя тези views чрез cat.js но не се получава

ето така работи

 

Ето branch към проекта 

https://github.com/xakepa/SoftUni/tree/NewApproach/JS%20WEB/Node%20JS/Cat%20Shelter

 
0
22/05/2020 22:34:19
mr.ivanov avatar mr.ivanov 18 Точки

Оправих проблема който се оказа че бил в handlers/index.js

Просто промених подредбата която явно има голямо значение

След като поставих catHandler на второ място в масива най-после html-a зареди правилно.

0
23/05/2020 15:49:56
Georgi9812 avatar Georgi9812 1 Точки

И аз хвърлих няколко часа... Но поне покрай това попрочетох доста документация :D Да сме живи и здрави!

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.