*New* Ajax Beyond Fundamentals, Simply Advanced
Published 7/2022
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 7.90 GB | Duration: 16h 7m
Published 7/2022
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 7.90 GB | Duration: 16h 7m
Master HTTP Basic Authentication, CORS, Modules, XHR, FETCH and AXIOS. Build a complete website using RESTful AJAX APIs
What you'll learn
*Download lectures (for offline viewing)
Learn how to send authentication information using the XHR object and the Fetch API
What are RESTful APIs
How to use AJAX with XHR, Fetch and Axios
How to access JSON and text data from a server response
What is Apache and how it differs from Node
How to set up an Apache server, a PHP server and a Node server
Single-Origin-Policy vs CORS
Preflight vs Simple CORS requests
Basic HTTP Authentication using AJAX
How to allow cross-domain requests with AJAX
How to access XML data from a server response
What happens when an AJAX request arrives at the server
How a server can handle an AJAX request
How to use Postman to test your server side routes
How to use Nodemon to speed up your server side development process
ES Modules vs CommonJS modules
What are CORS errors, and how you can fix them
Practical - build awesome dynamic front-end AJAX examples with me
I am here to support you, step-by-step
From beginner to expert (advanced +)
You will emerge an expert
Gives you depth of knowledge to boost your ability and confidence to built dynamic websites
Requirements
Preferable (but not essential) to complete my AJAX Fundamentals course
Desire to become a serious full stack web developer
Desire to KNOW how to send user authentication information using AJAX
A need to take your fullstack website skills to the next level
Desire to create dynamic, interesting and first-ace websites
Basic HTML, CSS and JavaScript will be helpful
Desire to KNOW the full process of how an AJAX request is sent by the browser, processed by a server, and what happens when a server finally sends back a response
A computer is required as you need to code alongside me to learn effectively
Description
****JUMP ON BOARD****+ Get instant access to >15 hours of high quality videos+ Get access to downloaded resources and project files+ Instructor supportThis advanced AJAX course will teach you how to use AJAX in different ways, and also teach you how to solve common issues you’ll face when working with AJAXEven if you have little knowledge about AJAX, I’ve got you covered. Section 1 of this course provides a summary of AJAX. From section 2 we start building projects together and from Section 4 we start digging into advanced concepts like Basic Auth, CORS and servers.Knowing advanced AJAX concepts is crucial if you want to become a serious fullstack developer, as it will allow you to make asynchronous HTTP requests and listen for incoming data from servers. AJAX can get tricky at times, and I don’t dispute this, but with correct training which includes explaining difficult concepts in a simple way, you will, like me, learn to master and love AJAX.What is AJAX ==> in one sentenceAJAX allows your users to add/delete/view/update content, post comments, submit reviews, submit forms and a ton more, without getting a page refresh.Learn the (advanced) secrets of AJAX in this courseUnderstanding the fundamentals of AJAX is important. That's why I created a AJAX Fundamentals course. I assume that you have either (1) done my AJAX Fundamentals course, or (2) at the very least you've heard of AJAX and know about the XHR object and the Fetch API. This course is important, because it goes beyond the fundamentals of AJAX. It allows you to master AJAX and take your skills to the next level. It will equip you to become a highly sought-after programmer. Learn how to send authentication information using the XHR object and the Fetch APILearn how to take user inputs, convert it into JSON data, and send that data to a server. Learn how to retrieve XML, JSON and text data from a serverLearn how to take data from server and update the page dynamically using JavaScript. Learn how to write great code using modules, writing middleware and defining RESTful AJAX APIs, and more!Delivering an interactive, asynchronous web experience is challenging. In this advanced AJAX course, we take a deep-dive into AJAX. We will tackle questions like: How can you use Basic HTTP Authentication with AJAX? What do you do if you get a CORS issue using AJAX? What happens when an AJAX request reaches a server? What are RESTful APIs and how do you set them up? Answering these questions with confidence will propel you to the next level.WHAT THIS COURSE COVERS?This course is best done if you already have a little understanding of AJAXIf you have never heard of AJAX, I encourage you to first do my AJAX Fundamentals course. The reason I have done this is that my AJAX Fundamentals course provides everything you need to start using AJAX yourself. It gives you the sound fundamentals and practicals regarding AJAX. It will take you to the point where you will understand where AJAX came from, how to set up an AJAX request using the XHR object and the modern Fetch API.This course picks up on that one, but goes further by digging into topics that are advanced. This course will captivate you and catapult you to the next level and set you well on your way to becoming a true Grandmaster in front-end web development.What you will learn:Understand how to use the XHR, Fetch API and Axios to make an AJAX requestHow to set up Basic HTTP Auth using Apache, PHP and NodeHow to solve CORS issuesHow to define your own AJAX libraryHow to use Modules (ES Modules and CommonJS modules)How to build an entire application that makes RESTful AJAX requestsHow to use middleware (like cors(), express.urlencoded() and express.json()) on your serverHow to set up Routes on your server and send responses back to a browserHow to become a better frontend programmerAnd more!In this course you’ll learn about Basic Auth, CORS, SOP, RESTful services, server routes, middleware, modules, and a ton more!END GOAL OF THIS COURSEYou will build a fully functional site that performs basic CRUD operations and saves data to a server. This simple application will use the power of RESTful AJAX APIs to speak to a server and perform tasks like adding/deleting/updating and viewing data that is stored on your server. In building this application you will learn the following:Set up a server to store all of your dataThe server will be set up on a different port number than your frontend codeYou will have to solve CORS errorsListen for the DOMContentLoaded event to send an AJAX request to populate your table dataThe users will be able to perform all CRUD operations (create/read/update/delete dog data)All your AJAX code will be written in a module and will be RESTful compliantAnd a ton more!How amazing is that?By the end of this course, you'll be able to “speak” and “walk” AJAX by gaining an understanding of how you can use it in meaningful and practical ways. We dig deeper in every lecture, and this course has a lot of additional content that will extend your knowledge base and test your skills.Through practical examples, this course helps you understand AJAX piece by piece. And we use the latest and best features of JavaScript and browsers along the way so you can stay ahead of the pack.*** One of the most advanced AJAX courses on Udemy ***Successful programmers know more than the basics of AJAX. They also know how to solve CORS issues, how to implement authentication and how to set up servers . If you’re wanting to become a full stack developer, you need to know how to send JSON to a server via AJAX (i.e you need to know how to convert your JS objects to JSON), how to define modules and how to use the response data to update the page dynamically. You need to master CORS, and how to allow cross-domain requests, and more!I want you to become a successful front-end AJAX Grandmaster.I want you to be able to apply what your learn in this course to your webpage.This course is perfect for you.Who is the instructor?My name is Clyde and together we’re going to learn how successful web developers create whizbang websites that are dynamic and engaging!The root to understanding how to be a professional front-end web developer is understanding how data is exchanged between a server and a browser. Today, this is done by using AJAX.After completing three university degrees, and post graduate studies, I developed a fascination for web design and software languages. For many years I have immersed myself in this. I spent a fair bit on top courses and went on to apply the knowledge practically. I recognized gaps in some of the courses I’ve taken and hence my course teaches what I wish I was taught. My intention is to share the knowledge with you in an easy to follow manner, so that we can benefit together. You benefit form learning, and I from sharing in your success.How is this course different?There are lots of great courses that focus on web development. But they never get into the detail about AJAX related issues that will pop up when you start creating more complex sites.In this course, I focus on the more advanced topics of AJAX. This includes understanding why the XHR object allowed a username and password field, why you will sometimes want your frontend running a port number that is different to the server port, how to set up a server, how to implement Basic Auth, how to utilize the power of Modules, and more!Practice makes perfectTheory is theory … but there’s nothing like getting behind your computer and typing in code. That’s why we will be coding, laughing and pulling out our hair together as we code real life websites and exercises during this course. From Section 2 and beyond we start building AJAX projects together. I love practical examples, which is why this course is full of them. I have a final course project that we will build together, which is an application giving a user the ability to add, update, delete and fetch data from a server.Is this course for you?Absolutely.It doesn't matter where you are in your web development journey. It's suitable for all levels.Still unsure? If you fit in any of these categories then this course is perfect for you:Student #1: You want to get better in the world of fullstack programmingStudent #2: You want to know how you can use AJAX in a practical way to perform CRUD (create, read, update and delete) operationsStudent #3: You want to gain a solid understanding of how to build RESTful APIsStudent #4: You want to start using backend frameworks like Node.js, Apache or PHP but want to first master how AJAX interacts with these serversStudent #5: You know a little about what AJAX is, but have little knowledge about how it works behind the scenes, and how to practically implement it in applicationsStudent #6: You have taken other courses in web development but just don’t feel like you’ve grasped AJAXWHY START NOW?Right this second, your competitors are learning how to become better web developers.Web development is a blazing hot topic at the moment. But you have a distinct advantage. This course offers memorable learning topics, actionable tactics and real-world examples.Lets get started!What do you get?Lifetime access to all tutorial videos.No fees or monthly subscriptions.Q&A support.Quizzes and challenges to help you learn.I’ve allowed you to download all of my lectures for offline viewing.Let's get excited about becoming a professional web developer, and to be able to confidently apply it to your own websites.See you in the lectures.
Overview
Section 1: AJAX recap
Lecture 1 Introduction
Lecture 2 Can you skip this section?
Lecture 3 Overview of AJAX
Lecture 4 What is AJAX and where did it come from?
Lecture 5 Is AJAX still relevant today?
Lecture 6 Traditional request vs AJAX request
Lecture 7 How do you write an AJAX request?
Section 2: Mini-Recap Project
Lecture 8 Introduction - what are we going to build
Lecture 9 Setting up the HTML
Lecture 10 Writing the CSS
Lecture 11 XHR AJAX - fetching text from our server
Lecture 12 XHR AJAX - refactoring code and adding HTML to the DOM
Lecture 13 XHR AJAX - fetching JSON from our server
Lecture 14 The responseType property
Lecture 15 Third party API
Lecture 16 XHR AJAX - fetching JSON from a third party API
Lecture 17 Fetch AJAX - retrieving text from our own server
Lecture 18 Fetch AJAX - retrieving JSON from our server and third party API
Section 3: Advanced Mini-Recap Project (PHP and Node.js)
Lecture 19 Section intro
Lecture 20 What are we going to build
Lecture 21 Write our HTML
Lecture 22 Setting up our AJAX request
Lecture 23 URL and query parameters
Lecture 24 Quick word
Lecture 25 Writing our PHP server side code
Lecture 26 How to access XML data returned by the server
Lecture 27 Retrieving data from the PHP server, and inserting it into the DOM
Lecture 28 Finishing off our PHP server example
Lecture 29 Setting up Node and sending a response
Lecture 30 Node Modules
Lecture 31 Reading a Node text response
Lecture 32 Difference between xhr.response and xhr.responseText
Lecture 33 Completing our Node example
Section 4: HTTP Basic Authentication using AJAX
Lecture 34 Introduction to authentication
Lecture 35 Quick word on authentication
Lecture 36 Basic HTTP Auth in action
Lecture 37 HTTP Basic Auth
Lecture 38 How Basic Authentication works and why are we discussing it in this course
Lecture 39 Base64 encoding vs encryption
Lecture 40 Basic Authentication compared to traditional HTTP requests
Lecture 41 What is Apache
Lecture 42 Strike the right balance
Lecture 43 How to start an Apache server
Lecture 44 Setting up our Apache server and .htaccess file
Lecture 45 Purpose of the .htaccess file
Lecture 46 Adding Basic Authentication in Apache
Lecture 47 The .htaccess file does not have logout functionality
Lecture 48 What is the use of the .htpasswd file?
Lecture 49 What are we going to build?
Lecture 50 Building the HTML
Lecture 51 The preventDefault method
Lecture 52 Using the window.event keyword
Lecture 53 Sending user credentials with AJAX, with custom base64 encoding
Lecture 54 How to prevent the browser popup
Lecture 55 Using XHR for Basic Authentication
Lecture 56 Creating a custom error message in Apache
Lecture 57 Updating our code to the modern Fetch API
Lecture 58 Next example is using Node
Lecture 59 Node example - what are we going to build?
Lecture 60 What is a node server
Lecture 61 How to install Node
Lecture 62 How to install Express
Lecture 63 Setting up our Node server
Lecture 64 How to set up a server in Node.js
Lecture 65 Where does Node look for modules?
Lecture 66 Checking whether the Authorization header exists
Lecture 67 Extract user credentials using Buffer
Lecture 68 No server side language is perfect
Lecture 69 Finishing off our Node example
Lecture 70 The next() function has a dual purpose
Lecture 71 The next() function stops middleware
Lecture 72 More about the next() function
Lecture 73 Spotted an error
Lecture 74 Basic Authentication - Section Summary
Lecture 75 Section outro
Section 5: Cross-Origin-Resource-Sharing (CORS) and Single-Origin-Policy (SOP)
Lecture 76 Intro to CORS
Lecture 77 Intro to Same-Origin-Policy (SOP)
Lecture 78 Two types of CORS requests - Simple + Preflight
Lecture 79 What is the HEAD method
Lecture 80 Simple CORS request
Lecture 81 Foreword on the purpose of a preflight request
Lecture 82 Quick word
Lecture 83 CORS preflight request
Lecture 84 CORS in action
Lecture 85 Setting the scene for a CORS example
Lecture 86 Setting up our HTML
Lecture 87 Performing a SIMPLE CORS request
Lecture 88 Missing the Access-Control-Allow-Origin header
Lecture 89 CSRF attacks
Lecture 90 How to enable CORS on a SIMPLE request
Lecture 91 Adding the Access-Control-Allow-Origin on our server
Lecture 92 How to initiate a PREFLIGHT CORS request
Lecture 93 Sending a PREFLIGHT CORS request by setting custom Content-Type header
Lecture 94 Setting the Access-Control-Allow-Headers on the server
Lecture 95 Adding Basic Authentication
Lecture 96 CORS Summary
Lecture 97 Outro
Section 6: Course Final Project - Task 1 - Server and Routes
Lecture 98 Section intro
Lecture 99 Defining RESTful API endpoints
Lecture 100 First we will build server-side code and then only AJAX
Lecture 101 Sneak Peak
Lecture 102 Using NPM to install the Express framework
Lecture 103 What is NPM and Node Modules
Lecture 104 Viewing the Express source code inside the node_modules folder
Lecture 105 Setting up our Node server
Lecture 106 Difference between res.send() vs res.end()
Lecture 107 Defining routes on our server
Lecture 108 Defining our routes in a separate file
Lecture 109 Exporting our routes via the module.exports command
Lecture 110 JavaScript Modules (ES Modules) vs Node Modules (CommonJS)
Lecture 111 Testing our Router object
Lecture 112 Creating the GET route
Lecture 113 Installing Nodemon
Lecture 114 Postman introduction
Lecture 115 Creating a POST route
Lecture 116 Express.json() vs Express.urlencoded()
Lecture 117 Creating a unique ID function
Lecture 118 Creating a PUT route - Part 1 (using the find method)
Lecture 119 What is the Array.find() method
Lecture 120 Creating a PUT route - Part 2 (using the splice method)
Lecture 121 What is the Array.splice() method
Lecture 122 Testing our routes in Postman
Lecture 123 Creating a DELETE route
Lecture 124 Well done
Lecture 125 Server outro
Section 7: Course Final Project - Task 2 - XMLHttpRequest (AJAX API)
Lecture 126 Section intro
Lecture 127 What are we going to build together?
Lecture 128 Remember, this is not going to be our final frontend
Lecture 129 HTML and file overview
Lecture 130 XHR AJAX GET request
Lecture 131 Fixing CORS by writing a custom middleware function
Lecture 132 Fixing CORS by installing the "cors" module with NPM
Lecture 133 Adding dynamic text to the GET request
Lecture 134 Creating an AJAX library / module
Lecture 135 Converting our GET request into a module
Lecture 136 Overview of our GET request
Lecture 137 XHR AJAX POST request
Lecture 138 Improving our GET request (turning our AJAX call into a synchronous one)
Lecture 139 Completing the POST request by initiating the request in the app.js file
Lecture 140 Updating the POST paragraph text dynamically
Lecture 141 Adding some error handling
Lecture 142 Completing the PUT XHR request
Lecture 143 Completing the DELETE XHR request
Lecture 144 Summary
Lecture 145 XHR outro
Section 8: Course Final Project - Task 2 - Fetch (AJAX API)
Lecture 146 Section intro
Lecture 147 GET fetch request - setup
Lecture 148 Using a callback function to write our GET fetch request
Lecture 149 Later I will improve the GET request
Lecture 150 POST fetch request
Lecture 151 PUT fetch request
Lecture 152 DELETE fetch request
Lecture 153 Summary - our AJAX requests are RESTful compliant
Lecture 154 Fetch outro
Section 9: Course Final Project - Task 2 - Axios (AJAX API)
Lecture 155 Section intro
Lecture 156 Basic challenge - intro to what we are going to build with Axios
Lecture 157 Installing AXIOS
Lecture 158 Fetching text data with AXIOS
Lecture 159 Fetching JSON data with AXIOS
Lecture 160 Why use Axios?
Lecture 161 Setting up our main course project files for Axios
Lecture 162 GET request using Axios
Lecture 163 Inspecting the Axios response object
Lecture 164 POST request using Axios
Lecture 165 PUT request using Axios
Lecture 166 DELETE request using Axios
Lecture 167 Axios outro
Section 10: Course Final Project - Task 3 - Final Frontend + AJAX APIs + Server Routes
Lecture 168 Section intro
Lecture 169 You've done the hard slog
Lecture 170 What are we going to build
Lecture 171 HTML - navbar and Add Dog button
Lecture 172 What are HTML Entities
Lecture 173 HTML - Add Dog Modal
Lecture 174 HTML - Update Dog Modal
Lecture 175 We don't need the name attributes
Lecture 176 CSS - headings and buttons
Lecture 177 CSS - Add Dog modal
Lecture 178 CSS - Update Dog modal
Lecture 179 Using JavaScript to close our modals
Lecture 180 CSS - tables
Lecture 181 All the HTML and CSS is done
Lecture 182 AJAX GET request - perform a GET request on the DOMContentLoaded event
Lecture 183 Using JavaScript to add an update and delete button to our table
Lecture 184 POST request
Lecture 185 Clearing form data when a user hits 'submit'
Lecture 186 Take a step back
Lecture 187 Using the reset() method to clear form values
Lecture 188 Populating the update modal - Part 1 - Traversing the DOM to find the ID
Lecture 189 Take a step back: traversing the DOM
Lecture 190 Populating the update modal - Part 2 - Using the find() method to GET our dog
Lecture 191 Populating the update modal - Part 3 - Finishing
Lecture 192 Improving our code - disabled & classList properties
Lecture 193 PUT request - updating a dog
Lecture 194 DELETE request - removing a dog
Lecture 195 Recap - you've come a long way
Section 11: Outro
Lecture 196 Outro
Anyone who has completed my AJAX Fundamentals course,YES: This course is for beginners to intermediate programmers. Although some AJAX knowledge will be helpful, it is not vital because I have a section dedicated to recapping what AJAX is,NO: This course is NOT only for beginners. It is a complete beginner to advanced master course that is suitable for intermediates who know the basics and have an idea about AJAX, but want to dig deeper to know its inner workings. Experienced students sometimes prefer to skip the first section that they are very familiar with,YES: This course is for someone wanting to be a professional, to be expert and confident in the entire front-end development process,Those interested in building their own frameworks, or being better able to learn from the source code of other well-known frameworks and libraries,Those wanting to start using frameworks (e.g. like Angular or Node) that are heavily reliant on JavaScript and knowing the process flow of front-end web development,Those who have some knowledge of web development, but little knowledge about how it works behind the scenes, and how to practically implement best practices in their websites