Ассинхронные запросы

Lesson 3, Advanced JS, Shashkov/Bonarchuk

by shurikation

HTML

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
</head>
<body>
<div id="ajax-block"></div>
<button id="ajax-get">Async get data</button>
 
 <script>
/************************* BONDARCHUCK **********************/
//ES6 появление промисов
//AJAX - для динамической подгузки, контента, новостей - бесконечный скролл - разные подсказки, уведомления - infinitive scroll. И чтобы весь сайт не перерисовывался, а только нужный косочек, например, при нажатии на кнопку купить. Это плюс для юзабилити.
//JSON - JavaScript Object Notation,  — текстовый формат обмена данными, основанный на JavaScript.

/* Декомпозиция любой задачи.
Набрасть план на бумаге даже как вариант, майнд мэп

Качаем nodeJS, устанавливаем бинарник
npm - nodejs packet manager

В Storm или VSCode 
node -v  - версия 
npm - v

npm i -g json-server - установка json-сервера
json-server - справка

Его можно использовать для лайтовой замены бэкэнду, чтобы что-то попробовать, поучиться

json-server db.json - запускаем файл db.json
Он создаст ссылку на каждую сущность в объекте этого файла /users /goods итд.
users/1 - выведет первый объект, например, в соответствии с его "id"
id может быть и строковым

https://github.com/typicode/json-server - вся документация по json
Так, например, можно ставить фильтры, и выбрать пользователей по имени
/users/?name=Vasya

После внесения изменений сервер надо перезапускать. Как этого избежать?

json-server --watch db.json - вносим изменения в файл и они обновляются сразу

json-server --watch db.json --static ./директория - это позволит запускать в адресной строке 
статичные файлы типа js, html т.е. http://localhost:3000/test-reg-exp.html - и он запустится с сервака

Чаще всего в 99% случаев использует JSON с сервером, но прям не всегда. Он самый простой,
легко парсится

В консоли жмем Ctrl + C  и останавливаем сервер только так. Остальное не поможет)

При работе с браузером и кодингом лучше в Network включить Disable cache чтобы данные не...