Тёмный

Урок 14. JavaScript. Запросы на сервер. Fetch, XMLHttpRequest (XHR), Ajax 

Владилен Минин
Подписаться 308 тыс.
Просмотров 318 тыс.
50% 1

Эксклюзивный контент на моем Boosty: boosty.to/vladilen
Telegram: t.me/js_by_vladilen
Instagram: / vladilen.minin
Roadmap по каналу:
vladilen.notion.site/Roadmap-...
Исходный код:
gist.github.com/vladilenm/557...
Урок 14. JavaScript. Запросы на сервер. Fetch, XMLHttpRequest (XHR), Ajax
Сложный JavaScript простым языком:
• Урок 1. JavaScript. Чт...
#ajax #javascript #fetch

Опубликовано:

 

15 окт 2019

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 291   
@VladilenMinin
@VladilenMinin 4 года назад
Результаты конкурса будут завтра :) Эксклюзивный контент на моем Boosty: boosty.to/vladilen
@nilsen1879
@nilsen1879 4 года назад
Только сейчас дошло, как решить задачку.
@Selieznov
@Selieznov 4 года назад
Вот это мужик, вот как надо рассказывать, я несколько часов слушал разных индусов, но ни один и в подметки не годится. Спасибо тебе, Бро!!!
@user-hz3zd3nz6h
@user-hz3zd3nz6h 3 года назад
ну про индусов ты загнул
@yaroslavzef7267
@yaroslavzef7267 3 года назад
МУЖЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫК!
@artemijeka
@artemijeka 2 года назад
индус - это принадлежность к религии
@user-gy6wd8jj2j
@user-gy6wd8jj2j 2 года назад
@@user-hz3zd3nz6h я тоже индусов смотрела😅 не поверите, но все получалось только по их урокам, не надо на них гнать
@user-uz4yu6qk1r
@user-uz4yu6qk1r Год назад
Так он нихрена нормально и не рассказал
@Blue-oy7tz
@Blue-oy7tz 4 года назад
Мужик, делай то что ты делаешь. Я чуть с ума не сошел пока искал эту инфу в понятном и доступном виде в сети. Пришлось самому всё понимать кое-как, и то не всё. И тут, хвала алгоритмам ютуба, появился ты. еще раз спасибо + лайк + подпискам (:
@user-QesOrwuMqN
@user-QesOrwuMqN 3 года назад
Хочу отметить разницу между Fetch и XHR: при отправке файлов/больших payload'ов на сервер XHR - позволяет получать прогресс загрузки файла на сервер, в то время как Fetch этой информации не предоставляет
@zmeygorynych5684
@zmeygorynych5684 3 года назад
Вот это я понимаю качественный контент, разложил по полочкам. Владилен, спасибо)
@ivankalashnikov7700
@ivankalashnikov7700 2 года назад
Смотрел кучу видео на эту тему, ваше - лучшее! Огромное спасибо за качественный контент и удачи вашему каналу!
@vladislavozinkovskyi8276
@vladislavozinkovskyi8276 3 года назад
очень толково. Разложил все по полочкам. Просто и лаконично. Для введения самое оно
@pavelalekseev5849
@pavelalekseev5849 4 года назад
Очень клевое расширение для Гитхаба, спасибо Владилен. Даже пассивно умеешь помогать :)
@evgeniiak7458
@evgeniiak7458 Год назад
Обожаю Ваши видео. Всегда всё четко и по делу. Спасибо большое за труд!
@vallery1395
@vallery1395 Год назад
Огромное спасибо! Я тоже пересмотрела на эту тему много видео. Это - лучшее из всех! Удачи!!!
@SWIBORG-X
@SWIBORG-X 11 месяцев назад
Это не единственный канал по программированию, но единственный с автором, который так хорошо объясняет. Спасибо за знания!
@user-hd9oq3td7z
@user-hd9oq3td7z 3 месяца назад
Спасибо большое за этот видео урок, обыскал весь интернет, но некто так грамотно как вы не смог рассказать а тут всё ясно и понятно , 😎
@evgeny9242
@evgeny9242 4 года назад
круто, действительно очень познавательно, как только появятся деньги отблагодарю, курс куплю или задоначу, очень понятно, а главное отвечает на все вопросы которые мучали раннеее
@user-pg2tc5im5u
@user-pg2tc5im5u 4 года назад
спасибо большое, раньше использовал только axios,ajax(jquery) теперь в курсе про нативные методы
@ups7write
@ups7write 4 года назад
Отлично! Спасибо. Хорошие уроки. Пришлось про CORS погуглить :)
@denzelwash33
@denzelwash33 3 года назад
Шикарное объяснение, ты прям прирожденная училка!)
@skrillex8334
@skrillex8334 3 года назад
Огромное спасибо! Продолжай в том же духе! Очень жду роликов по выполнению каких-то проектов на реакте.
@VladilenMinin
@VladilenMinin 3 года назад
Их много на канале
@strikerorion5290
@strikerorion5290 2 года назад
Спасибо, классное и подробное объяснение, удивляюсь что подписчиков не раза в 2 - 3 минимум, больше.
@uaplatformacomua
@uaplatformacomua 4 года назад
Супер! Надеюсь, это мне поможет всё-таки сделать тестовое задание
@vitalijslavrinovics8756
@vitalijslavrinovics8756 3 года назад
Благодарю за то что помогаешь обучаться разработке на javascript!
@weekendshow7567
@weekendshow7567 2 месяца назад
Этот урок классно объяснил🎉
@irinabaranova9236
@irinabaranova9236 11 месяцев назад
Спасибо большое, Владилен! 😍😍😍
@Max-kr4ie
@Max-kr4ie 4 года назад
Хорошо все разобрал, говорим тебе спасибо!
@user-fx8rm4kw2y
@user-fx8rm4kw2y 4 года назад
класс. как раз сейчас работаю с с запросами. прям вовремя
@smartbrain4623
@smartbrain4623 4 года назад
Спасибо! Отличные уроки по js. Все ясно понятно. Ну прям огонь🔥
@user-up1xl1ef5e
@user-up1xl1ef5e 2 года назад
Это ШЕДЕВРАЛЬНО!
@gevorgmartirosyan2142
@gevorgmartirosyan2142 3 года назад
спасибо агромное, вот я наконец понял что запросы и как они работают
@user-vc5xs1no7m
@user-vc5xs1no7m 4 года назад
Владилен, спасибо большое тебе за твой труд! Однозначно ЛАЙК!!! Просьба, сделай пожалуйста подробный гайд по axios!
@user-ie2gm8bp5v
@user-ie2gm8bp5v 4 года назад
Владилен, запиши видос про графику на canvas, никогда этим не пользовался и не сталкивался, но очень было бы увидеть и послушать профессионала на эту тему. Ты же вроде разбирался с этим как раз, когда в конкурсе Telegram участвовал, вот было бы очень интересно послушать как ты все писал и как работать с графикой
@sevenpages7068
@sevenpages7068 4 года назад
Владилен, спасибо тебе за твои видео. Очень помогают! Нет ли у тебя в планах записать мастер класс по DevTools бразуера? У тебя очень много уроков в которых ты объясняешь, как что-то сделать с нуля, с этим все более-менее понятно. Мог бы ты записать какой-нибудь курс, в котором ты бы взял какой-нибудь open-source проект, и показал от и до, как разобраться в новом проекте, с чего начать, как правильно читать код, как структурировать полученную информацию и приступить к допиливанию своего функционала. (Лично меня интересуют проекты на Angular и чистом JS).
@name-yy9yu
@name-yy9yu 4 года назад
лучший канал) спасибо
@dmitryivanov3200
@dmitryivanov3200 4 года назад
Спасибо, Владилен!
@unknown.6914
@unknown.6914 6 месяцев назад
урок правда полезный, спасибо
@user-uo7iv6bw5l
@user-uo7iv6bw5l 4 года назад
Спасибо огромное разобрали супер. поставил бы два лайка даже. подписался.
@user-qc2uk8iy6d
@user-qc2uk8iy6d 4 года назад
Спасибо огромное за ваши уроки! Хоть по темам уже ушли далеко вперед, но было бы неплохо услышать про DOM/BOM с вашими пояснениями. Заранее спасибо
@user-nz5ln7bj5c
@user-nz5ln7bj5c 4 года назад
Спасибо за урок!
@horizon3208
@horizon3208 10 месяцев назад
спасибо огромное! очень помог!
@alifox6056
@alifox6056 4 года назад
Досмотрел плейлист. Спасибо за уроки !
@user-cy2td3lg8t
@user-cy2td3lg8t Год назад
Большое спасибо за видео!
@user-nb1is5wc4k
@user-nb1is5wc4k Год назад
Спасибо, очень полезное видео.
@yatut4467
@yatut4467 2 года назад
Спасибо, очень и очень полезно и понятно. Только в названии еще Ajax упоминается, но что-то вроде бы в ролике ни слова не было.
@kotovadana
@kotovadana 4 года назад
По-моему еще ЛУЧШЕ все это рассказать просто не возможно. Большое спасибо за видео! Мне кажется, если вы сейчас начнете выкладывать обучающие видео о том, как правильно строить дома - я подамся в строители, потому что ваши видео смотреть - одно удовольствие ! :D :)))
@MrReflection540
@MrReflection540 4 года назад
Реально, практически идеальный урок! Единственное из-за чего картина не совсем до конца складывается, так это из-за того, что были опущены async/await, а также очень хотелось бы увидеть наглядный пример serialize у ajax, но используя fetch
@user-no6il5pi8n
@user-no6il5pi8n 2 месяца назад
есть отдельное видео по async await и промисы
@EvgenichTalagaev
@EvgenichTalagaev 2 года назад
Спасибо за видео!
@user-vx6mp6di4o
@user-vx6mp6di4o 4 года назад
Очень крутой канал! предлагаю рассказать про Регулярные выражения мне кажется интересная тема.
@AsVit
@AsVit 4 года назад
Урок пройден) Спасибо!!! Очень круто все разобрано, все понятно! Супер!
@buksirchik1663
@buksirchik1663 4 года назад
Fetch как раз учу сейчас, спасибо за подгон)
@Peter-vz4tb
@Peter-vz4tb 4 года назад
Теперь хоть разобрался зачем был нужен XMLHttpRequest. Спасибо. Хотелось бы разобрать как правильно проектировать бекенд + фронт. А то столько мнений не знаешь кто прав.
@user-nk6qo9in4l
@user-nk6qo9in4l Год назад
Большое спасибо
@kvaqich
@kvaqich 3 года назад
Супер. Полдня убил на понимание запросов. С jQuery ajax всё получалось, а native js не поддавался.
@cheesecheesson9842
@cheesecheesson9842 3 года назад
Смотрю с удовольствием. Спасибо, Владилен!
@kirillbaryba746
@kirillbaryba746 4 года назад
Спасибо, здорово
@de17eon50
@de17eon50 4 года назад
Огонь, теперь хватает знаний чтобы полчить данные со своего REST api
@artemijeka
@artemijeka 2 года назад
Спасибо!
@NeedForHeavyMetal
@NeedForHeavyMetal 2 года назад
всё круто, лайк подписка! Было бы ещё круче если б делал пометки // хотя б простенькие) спасибо)
@returnobject
@returnobject 3 года назад
зачетный ролик! работать с XHR классом как по мне проще для понимания чем с fetch(). классе все явно указывается а в fetch неявные промисы и прочие методы, мне нубу без доков не разобраться.
@bolatzhanulys
@bolatzhanulys 4 года назад
ТОП урок!!!
@alex_k21
@alex_k21 4 года назад
уроки ТОП! всё чётко и по полочкам. спасибо!
@user-gu5ir3zs4v
@user-gu5ir3zs4v 4 года назад
Юзал свой jQuery, до фетча все никак не добирался, и наконец у тебя вышел такой видосик, хоть уже что-то и есть про фетч, но тут более понятней и подробней. Пасеба , сэр!
@astrotrain
@astrotrain 4 года назад
Я бы всё же советовал пользовать axios, если хоть какая-то совместимость в проекте нужна, он такой же удобный, но использует xhr.
@user-gu5ir3zs4v
@user-gu5ir3zs4v 4 года назад
@@astrotrain как axios использовать на фронте?
@astrotrain
@astrotrain 4 года назад
@@user-gu5ir3zs4v в смысле как? axios({ url, method, data }).then(({data}) => { console.log(data); })
@user-gu5ir3zs4v
@user-gu5ir3zs4v 4 года назад
@@astrotrain так а как его подключить это же npm модуль
@astrotrain
@astrotrain 4 года назад
@@user-gu5ir3zs4v если есть вебпак просто импортом, если нет - то как жуквери github.com/axios/axios#installing
@FilmsMediaTV
@FilmsMediaTV Год назад
Подскажи, пожалуйста, как так сделать, в названия методов внутри () скобок писались, как у тебя допустим sendRequest ( method: "POST") - как сделать так чтоб "method" показывался? это расширение какое-то ??
@user-bx7ly2th3b
@user-bx7ly2th3b 4 года назад
пару заметок, если кто-то захочет постестироват запросы через свой PHP-сервер (маловероянтно, конечно, что найдутся такие же недалекие люди, как я, но все же ...): я кучу времени потратил, чтобы угадать, как там должно быть сделано, чтобы все работало .... итак, в вашем PHP файле: # заголовки, чтобы сервер вообще смог хоть что-то ответить на запрос header("Access-Control-Allow-Origin: *"); header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept"); # чтобы все работало после указания xhr.setRequestHeader('Content-Type', 'application/json'); # распарсивалка данных, передаваемых не строкой, а в виде JSON.stringify({...object...}) $postData = file_get_contents('php://input'); $data = json_decode($postData, true); # ответ сервера $users = array( 0 => array( "id" => 0, "name" => "Leanne Graham", "username" => "Bret", "email" => "Sincere@april.biz", "phone" => "1-770-736-8031", "website" => "hildegard.org", ) ); echo json_encode($users);
@leokorsunsky2395
@leokorsunsky2395 3 года назад
Лайк однозначно)
@brawlstarsgamer5496
@brawlstarsgamer5496 Год назад
Благодарю!!
@bag8208
@bag8208 2 года назад
Подскажите плиз, а че в js, уже не нужны точка с запятой в конце команд?? спасибо!
@svetlana9436
@svetlana9436 4 года назад
Спасибо ♥
@MrGerka0291
@MrGerka0291 7 месяцев назад
Да!! просто нечеловеческое спасибо!!! а скажешь что за шаблон подсветки кода у тебя установлен?
@nikolai4100
@nikolai4100 3 года назад
СПАСИБО!
@bloodraven9622
@bloodraven9622 4 года назад
спасибо, помог
@artemzhuravlenko9955
@artemzhuravlenko9955 4 года назад
Очень круто
@user-pe8el6tb7n
@user-pe8el6tb7n 3 года назад
СПАСИБО!!!
@HovoK
@HovoK 4 года назад
Владилен вы растете на наших глазах))))) в предыдущих уроках у объекта Владилен поле age был ровен 25))))
@HovoK
@HovoK 4 года назад
кстати, привет из 2020
@user-qs8vf5dm3c
@user-qs8vf5dm3c 3 года назад
стареет потихоньку
@user-ef2pn4zc8f
@user-ef2pn4zc8f 2 года назад
спасибо
@GGSoft2009
@GGSoft2009 4 года назад
Спасибо!!!
@user-gu2lf6tr8m
@user-gu2lf6tr8m 2 года назад
крутая подача! все четко, без H2O
@oz9608
@oz9608 2 года назад
Согласен)
@oz9608
@oz9608 2 года назад
Даже под C2H5OH хорошо заходит)
@AntonioBenderas
@AntonioBenderas Год назад
Fetch уже был в Уроке8. Вообще плейлист как-то не структурирован, всё намешано в куче, вроде смотришь с 1 урока, а потом все темы в разнобой
@TheRealWorldArmenia
@TheRealWorldArmenia Год назад
Наш инстинкт . Когда хотим создавать объект, моментально в голову приходит "key" name и age .
@tinaanit2965
@tinaanit2965 3 года назад
21:00 Fetch(Get) 25:00 Fetch (POST)
@user-ck9ru7oc1h
@user-ck9ru7oc1h 2 года назад
Ты хороший человек. Спасибо.
@ilnurryazhapov9377
@ilnurryazhapov9377 4 года назад
Лайк не глядя!
@mihaylov13
@mihaylov13 4 года назад
Согласен, лайк
@const1525
@const1525 4 года назад
Отличный урок, проходит со свистом ))
@datasource171
@datasource171 4 года назад
А как можно получить body из Network -> XHR -> Response на коком-нибудь сайте, чтобы использовать эти данные, например в расширении Chrome? Это вообще возможно сделать через JS? Странно, но в Google и RU-vid ответа на этот вопрос так и не нашлось...
@todrgor
@todrgor 2 года назад
Блин спасибо большущее)))))
@user-ri7zc8zs2b
@user-ri7zc8zs2b Год назад
Владилен, спасибо за урок! Не могли бы подсказать, где проблема в следующей ситуации: POST запрос при загрузке файлов отрабатывается правильно, но если в названии файла есть кириллица, то вместо нее приходит абракадабра. Попробовал и fetch, и XMLHttpRequest. FormData формируется правильно. С postman тестирование проходит без ошибок. с уважением, Юрий
@user-mp2js7gy1e
@user-mp2js7gy1e 4 года назад
Это странно, но я пытался отправить по методу POST данные на сервер в формате json (с нужными заголовками... в общем как в видео) и данные на сервер не передавались. Я так и не понял почему. Но стоило мне изменить формат передачи данных (на param1=value1&param2=value2) и естественно поменять заголовок на application/x-www-form-urlencoded и данные передались на сервер. Вопрос: почему не получилось передать параметры в JSON-формате?
@user-ql4xu5qu2u
@user-ql4xu5qu2u 4 года назад
Поддерживаю, что нужен видеоурок про rest & spread.
@VladilenMinin
@VladilenMinin 4 года назад
Как раз завтра будет)
@QmanKUCHER
@QmanKUCHER 3 года назад
Владилен, спасибо за видео!! Но как всегда есть вопрос ведь странные ситуацию случаются, а ты немного говоришь о том как обрабатывать ошибки. Например, когда сервис упал он вместо ошибки начинает отдавать свою странницу 404, вместо json, но по каким-то истерическим причинам ее статус 200. Что делать в таких случаях?
@andriyvorona7687
@andriyvorona7687 4 года назад
Давайте больше таких видео
@MikeMentzer09
@MikeMentzer09 9 месяцев назад
Дарова
@nosooqua
@nosooqua 3 года назад
А можно спросить? 😅 А если в джаваскрипте "из коробки" есть XHR и Fetch, зачем нужны либы типа axios?
@sekirogenshiro2210
@sekirogenshiro2210 4 года назад
Влад,не отображаются данные data в новой вкладке response payload.вообще этой вкладки нету .не видно данных,которые я скинул
@mk3mk3mk
@mk3mk3mk 3 года назад
С этим сайтом json placeholder понятно, а как быть с локальным своим сайтом? Там что должно быть, в самом простом варианте, файл index.php и в нем что должно быть? Чтобы мы могли получить данные. И еще, т. к. тут упоминается ajax, то что тут рассматривается, мы получаем данные с сервера, я например хочу сделать, чтобы эти полученные данные отображались на странице сайта, то они будут добавляться Без перезагрузки страницы?
@maksymvintskovskyi6475
@maksymvintskovskyi6475 4 года назад
Очень доступно. Но подскажите как использовать полученные данные, где они хранятся и т.п.
@user-gs7hj1om5r
@user-gs7hj1om5r 4 года назад
на самом деле ты читаешь мои мысли.. хотел попросить урок по fetch и вот спс тебе
@-wildberries9607
@-wildberries9607 4 года назад
лучший
@classic5336
@classic5336 3 года назад
Как получить отправленные данные с клиента методом POST на сервере? Пробовал реализовать как у вас fetch, но он возвращал мне мою html страницу на сервере. Хотя на самом клиенте данные отправляются и если смотреть в браузере, они находятся в Network в разделе Headers/Request Payload. Как мне достать оттуда мои данные на локальном сервере?
@vyacheslav7838
@vyacheslav7838 3 года назад
Я реально испугался, когда ты не поставил точку с запятой, а потом вспомнил - это же js......)
@fein7068
@fein7068 3 года назад
Правильное решение это нужно создавать асинхронную функцию и ждать ответа до полного выполнения await и потом уже обрабатывать данные и тогда вам не нужно будет работать с проммисами.
@user-ce9mh7ij6o
@user-ce9mh7ij6o 3 года назад
super
@IhorVyshniakov
@IhorVyshniakov 3 года назад
Спасибо за полезный урок! Подскажите, пожалуйста, почему после команд до .onload не ставятся в конце ";"? Нужно ли ставить точку с запятой(если да, то всегда ли) или нет и почему?
@IhorVyshniakov
@IhorVyshniakov 2 года назад
@@user-lm8py5rb4m тоже вижу, но мне интересно почему
@densaface
@densaface Год назад
XHR не поддерживает запросы через прокси? Погуглил, вроде нет. Хотя странно, в питоне request session get/post без проблем это делает.
@umpair
@umpair 4 года назад
Привет. А будет материал про ООП?
@dmitruz1900
@dmitruz1900 2 года назад
Здравствуйте. У вас в 11 строке headers: headers. Когда я так пишу то ошибка (Syntax Error: Application is not defined)
Далее
Урок 15. JavaScript. Все о Spread и Rest
24:08