Skip to content

Instantly share code, notes, and snippets.

@larry27
Last active January 5, 2018 08:55
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save larry27/3e5bcafb384bc778d0f4d00a9003693e to your computer and use it in GitHub Desktop.
Save larry27/3e5bcafb384bc778d0f4d00a9003693e to your computer and use it in GitHub Desktop.
*************************************** UPDATED ****************************************************
Setup project:
В том архиве, что я тебе кинул можешь увидеть 2 папочки. Одна server, другая frontent. Весь свой код, который ты сейчас пишешь будешь складывать
в папку frontend с любой структурой которой хочешь.
Папка server это небольшой скриптик на nodejs который позволяет делать запросы аяксовые без головняка.
Как все запустить
1. Распакуй архив
2. В консоле перейди в папку server (cd server) потом сделай node server.js ( я все зависимости установил, но может понадобится сделать npm install но думаю все заведется и так)
3. Теперь тебе доступе сервер по адресу http://localhost:8080 ( если такой порт не нравится можешь поправить в файле server.js )
4. Я создал пустой файлик index.html в папке frontend там небольшой кусочек кода, с помощью которого получаем ответ от сервера с котиками
Переделай его как ты хочешь, но смотри я там подключил скриптик, который делает из xml - json, просто посмотри как я написал функцию и ее юзай.
ВАЖНО! Все вызовы делаешь так, например у нас было http://thecatapi.com/api/images/get?format=xml&results_per_page=20 , а стало http://localhost:8080/api/images/get?format=xml&results_per_page=20
ВАЖНО! Теперь со своим сайтом работашь не так, как раньше, тоесть не просто нажал 2 раза на файлике index.html , а идешь по адресу http://localhost:8080 и все
Думаю тебе стоит начать делать запросы используя xmlHttpRequest метод, а на промисы потом перепишем т.к. будет сложновато сначала.
Советую написать общую фунцию типа makeApiRequest(url) и она делает реквест и возвращает значение. В общем главное стартануть - скажу сразу
вопросов будет масса и боли, но это надо пройти , потом будет легче все) Ну и елси что-то не работает - смотри не упал ли сервер
*************************************** UPDATED ****************************************************
Придумал тебе прикольнуию идею для дальнейшего обучения.
Теперь будем делать небольшой сайтик, на котором ты сможешь отточить свои навыки.
Небольшое описание:
Идем на сайт http://thecatapi.com/docs.html - апи (делаешь запросы в опр. формате и получаешь ответ) этот сайт, предоставляет возможность получать разные каритки котиков по запросу с различными фильтрами. Почитаешь описание апи, думаю сначала будем работать только с категориями и фоточками.
Как я это вижу в базовом виде:
1. Делаем страницу со списком категорий котиков - для этого работаем с вызовом апи /api/categories/list (там есть пример запроса). Каждый запрос должен содержать GET параметр (аля site.com?paramName=paramValue) api_key=MjU3MDcx я его зарегал - работает вроде и без него ну не знаю сколько.
Каждая категория это ссылка на страницу со списком котиков ( страница со списком котиков будет 1, но у нее тоже будут гет параметр)
2. Делаем страницу со списком котиков, там есть пример /api/images/get?format=xml&results_per_page=20 и получаем этих котиков. На страницу можно добавить изменение кол-ва котиков на странице и тд. надо посмотреть, что дает апи
3. Там еще есть несколько методов - типа для голосования , можно потом сделать получения картинок из рандомных категорий и тд и тп. Навалить функционала.
Пока делаем 2 пункта.
Перед началом можно посмотреть небольшой курс из 4 видео про GIT https://www.youtube.com/watch?v=PEKN8NtBDQ0&list=PLY4rE9dstrJyTdVJpv7FibSaXB4BHPInb но не обязательно.
Ответ на апи запрос возвращается в формате XML , пока забивать голову не надо, он не совсем родной для js, но найдем функцию она переведет его в json и сможешь нормально работать.
Думаю идея с сайтом хорошая, сможешь во многом разобраться.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment