Node.js Crash Course Tutorial #10 - Get, Post & Delete Requests

Поделиться
HTML-код
  • Опубликовано: 27 июл 2024
  • In this node.js tutorial we'll set up some route handlers for different request types. We'll also look at how to handle post requests and delete requests.
    0:00 -- request types
    3:56 -- post requests
    11:55 -- route parameters
    20:12 -- delete requests
    🐱‍👤🐱‍👤 JOIN THE GANG -
    / @netninja
    ----------------------------------------
    🐱‍💻 🐱‍💻 My Udemy Courses:
    + Modern JavaScript - www.thenetninja.co.uk/udemy/m...
    + Vue JS & Firebase - www.thenetninja.co.uk/udemy/vu...
    + D3.js & Firebase - www.thenetninja.co.uk/udemy/d...
    🐱‍💻 🐱‍💻 Course Files:
    github.com/iamshaunjp/node-cr...
    🐱‍💻 🐱‍💻 Other Related Free Courses:
    + Modern JavaScript Tutorial - • Modern JavaScript Tuto...
    + HTML & CSS Crash Course - • HTML & CSS Crash Cours...
    🐱‍💻 🐱‍💻 Node.js links
    + Download here - nodejs.org/en/download/

Комментарии • 360

  • @mouhamethfadalmarabyaidara4935
    @mouhamethfadalmarabyaidara4935 3 года назад +180

    I swear this tutorial is far better than the premium (paid) ones that we see on Udemy or other e-learning platform.
    You are so much knowledgeable about the topics that i'm just stunned .
    Big respect for you and thanks for changing the lives of thousands of software engineers by making them understand actually the core concepts.

    • @niteshswarnakar
      @niteshswarnakar 3 года назад +2

      exactly

    • @zachfenton608
      @zachfenton608 2 года назад +17

      no adds, no rubbish, just a nice london accent

    • @rogut8
      @rogut8 Год назад +4

      could not agree more

  • @NetNinja
    @NetNinja  4 года назад +229

    Make sure you place the blogs/create GET route ABOVE the /blogs/:id GET route in the code. Otherwise express will fire the /blogs/:id handler for requests to /blogs/create.

    • @TechnoDB
      @TechnoDB 4 года назад +10

      Oh... I was stuck at this and it took my time.
      Also, you've mentioned this stuff in your next video. :v

    • @ashishchourasia2830
      @ashishchourasia2830 4 года назад

      I am getting 'TypeError: Cannot read property 'id' of undefined' at the params line.
      VS code wasn't showing the intellisense for it. Please help

    • @andressiri
      @andressiri 4 года назад +7

      @@ashishchourasia2830 what fix this for me was going back to index.ejs and on the tag make sure the href link has the same spacing with the ejs tags like in the video.

    • @LavishArora11
      @LavishArora11 4 года назад

      Thanks man, that's where it got stuck.

    • @krasimirkraev8716
      @krasimirkraev8716 3 года назад

      I dont get this. Can you explain a bit more please.

  • @SALMANKHAN-zz4gi
    @SALMANKHAN-zz4gi 3 года назад +42

    i feel butterflies in my stomach . the excitement of understanding the concept and yearning to apply it to a project is too much . Thanks ninja

  • @layeekromah4799
    @layeekromah4799 4 года назад +97

    This is by far the best crash course ever, feels almost like the best premium course on nodejs. The style of teaching rocks!

  • @Shakeel714
    @Shakeel714 3 года назад +14

    This series on NodeJS is better than any other series/course on YoutTube or Udemy

  • @matthew78uk
    @matthew78uk 3 года назад +2

    So much content in a single video! All the basics of CR(U)D, organised and explained very well! Many Thanks indeed!

  • @davefinn6031
    @davefinn6031 Год назад

    Shaun you are a legend. I am in the middle of an intensive assessment for a position currently and everytime I run into a problem, be it in Vue, node js or SQL you seomhow seem to have the answer at some corner or the internet. Keep up the amazing work!

  • @malcolmcolindixon
    @malcolmcolindixon 4 года назад +3

    Great work as always Shaun, just completed your Udemy modern Javascript course a few days ago and then started this series, it's all coming together now. Would really like to see working with Postgresql sometime, I'm sure it's similar concepts to this though.

  • @LucXX36
    @LucXX36 4 года назад +2

    Great, like always. Thank you! This whole course is such a nice refreshing

  • @pwrs7
    @pwrs7 7 месяцев назад +1

    Loved the content. Gave me great learning over the weekend. I loved how he builds the pieces early on and how they all come together at the end to form an application. Not only gives you the details on how it can be done, but also why things are done the way they are done. Loved it. Huge thanks.

    • @NetNinja
      @NetNinja  7 месяцев назад

      That's awesome to hear :) thanks so much for watching

  • @mikoajpaszkowski2985
    @mikoajpaszkowski2985 3 года назад +6

    I just LOVE that moment when I need to pause the video to say: "Ahaaaaaaaaaaaaa, it's amazing!"

    • @NetNinja
      @NetNinja  3 года назад +1

      Thank you so much!!

  • @stana_andrei4752
    @stana_andrei4752 4 года назад +62

    Can you make a tutorial on how to connect a react component with node backend?

    • @dnynu
      @dnynu 4 года назад +5

      Yaa I also want 👍

    • @F4ILCON
      @F4ILCON 4 года назад +11

      Keep in mind that this is server side rending using EJS, nodejs render html to the browser, now React, Angular, Vue they have different approach, so you need to make http request from react to reach the routes in nodeJS, you also probably need set CORS on nodejs. Create nodejs Server with route and react app to call these route.

    • @AccessCode101
      @AccessCode101 4 года назад +10

      @@F4ILCON Sounds like you know what you're talking about. Can you make a quick video, please!

    • @alexanderbugay6752
      @alexanderbugay6752 4 года назад +16

      Maybe you might want to check out some videos on the topic from another coding guru:
      Part 1: ruclips.net/video/XuFDcZABiDQ/видео.html
      Part 2: ruclips.net/video/KyWaXA_NvT0/видео.html
      He also has MERN stack mini series which I found really useful. Though NetNinja's accent is 1000 times better so I'm also waiting for this tutorial

    • @jmbeatsbbx
      @jmbeatsbbx 4 года назад

      Which Node features would you use if you had React already tho?

  • @ericpodhorecki5427
    @ericpodhorecki5427 3 года назад +7

    best node course online from far. Amazing work!!

    • @NetNinja
      @NetNinja  3 года назад +1

      Thanks so much :)

  • @theone3746
    @theone3746 Год назад

    Even though these videos are long, there is not one second of fluff. Beautiful.

  • @kithenry
    @kithenry 6 месяцев назад

    i like how structured this is, how every topic from #1 to #last builds so well onto each other.

    • @NetNinja
      @NetNinja  6 месяцев назад

      Thanks :) that means a lot

  • @LubieArbuzy
    @LubieArbuzy 4 года назад +3

    Great content as always!

  • @elpheno
    @elpheno 4 года назад +1

    This session was more difficult for me; I 'll try again later.
    Thank you Boss

  • @mikegogl
    @mikegogl 3 года назад

    Thanks man you are fantastic. I am learning a lot. Honestly, thank you!

  • @codedynamics1
    @codedynamics1 3 года назад +1

    @netninja how excited you get when something works 😂👨‍💻 love it!!😂

  • @LoveisHell85
    @LoveisHell85 3 года назад +14

    Please make a react/node/SQL tutorial. I would love to see a complete fullstack project (ecommerce site perhaps). I would be more than happy to pay for a premium course.
    Thank you for the great content!

  • @vally8027
    @vally8027 2 года назад

    very exciting, you are the best instructor, thanks for considering this topic

  • @darpananeja4751
    @darpananeja4751 3 года назад

    Beautiful course!!! Amazing satisfaction!

  • @tannerbarcelos6880
    @tannerbarcelos6880 3 года назад +4

    Was trying to do MERN stuff before really getting my node, express and mongodb core skills down. Realized I was just copying tutorials and not learning.
    I am gonna watch this whole series and learn a ton. Just from laying here watching this, I understood everything from past knowledge or just good JavaScript skills and it’s exciting because I’m really trying to learn fullstack development while also learning it in school academically.
    Thank you for all your videos brother !

  • @kopilkaiser8991
    @kopilkaiser8991 2 месяца назад +1

    Brilliant tutorial. I've learnt quite a lot from watching this. I would highly recommend all to watch this excellent informative and simple node.js crash course 😊🤝
    You are a brilliant and exceptionally great teacher. Being able to convey your knowledge by explaining patiently.

    • @NetNinja
      @NetNinja  2 месяца назад

      That means a lot, thank you so much :)

  • @papadong
    @papadong 4 года назад

    Nice tutorial as always. Thank you

  • @zachfenton608
    @zachfenton608 2 года назад

    this is so awesome. I have learned a lot. I still have trouble with the mongodb not picking up the posts. I had to comment out all the code that related to it since it was crashing the app.

  • @ArmanAghajanyan-eh1tn
    @ArmanAghajanyan-eh1tn 3 месяца назад

    Best ever tutorial. thank you Shaun Pelling. Huge contribution to learners!!!

    • @NetNinja
      @NetNinja  3 месяца назад

      Glad it was helpful! :)

  • @thomasm1964
    @thomasm1964 2 года назад

    Oooh my head hurts now! Content is excelletn as always but definitely need to play this one again!

  • @hackmeornot2196
    @hackmeornot2196 3 года назад

    I buy a lot of course in UDEMY, and I didnt understand mostly, and when i found shaun channel i regret in buying these course. THis channel teach me everything... can you make a single tutorial about local storage?
    Thank you so much shaun..

  • @iamabhirupdatta
    @iamabhirupdatta 3 года назад +6

    If anyone getting undefined value in req.body for the post request , add the following before any route:
    app.use(express.urlencoded({extended: true}));
    app.use(express.json());

  • @DylanL9
    @DylanL9 4 года назад +2

    Do you think you can create a tutorial about using node-fetch and creating a project where you would use a stock API for example?

  • @mrmeinept
    @mrmeinept 2 года назад +3

    That feeling when you spend 2 hours reading tutorials that aren't helpful and then find that one video who helps you in less than 30 minutes:

  • @martinn1071
    @martinn1071 3 года назад

    This
    Is pure gold !

  • @visualismanformuslims673
    @visualismanformuslims673 3 года назад +1

    Ever best explaining,
    You are a great teacher, may Allah bless you. 😇

  • @anthonyuzoka8294
    @anthonyuzoka8294 7 месяцев назад

    Seriously do you think i need another course on nodejs, this your crash course is the premium course for me, thank you

  • @Slimboyfat1979
    @Slimboyfat1979 7 месяцев назад

    Love your videos. Still relevant and helpful

    • @NetNinja
      @NetNinja  7 месяцев назад

      Awesome to hear :) love your username!

  • @MuhammadZubair-co5jl
    @MuhammadZubair-co5jl 3 года назад +4

    Greate videos (Thank you )
    Sir, It can be also done by putting a (href) property in a(anchor tag)and set it value to '/blogs', without redirecting to the blogs page using JSON (lots of steps involves).

    • @condensedmatter118
      @condensedmatter118 2 года назад

      Underrated comment. Not sure why he did it that way but this is ALOT easier.

  • @samuelehnimely9297
    @samuelehnimely9297 Год назад

    Thanks so much for this course. It's so amazing. can you please consider implementing image uploading with node express and mogodb.

  • @yinonb172
    @yinonb172 4 года назад

    best node.js tutorial ever

  • @bluemodize7718
    @bluemodize7718 2 года назад

    best tutorial i've ever seen

  • @martinsmifff
    @martinsmifff 4 года назад +5

    Hi Shaun, again a great tutorial. Did you know about the express middleware "method-override", is is quite neat because it allows you to simulate DELETE and PUT requests using the normal form, with just a hidden field. Tis would simply things a great deal as you wouldn't need to use the JavaScript.

    • @shaheryarshaikh2572
      @shaheryarshaikh2572 3 года назад

      Hey Can you help me how to use it?

    • @shaheryarshaikh2572
      @shaheryarshaikh2572 3 года назад +2

      @For Google Kuriwada thanks❤️i already Used it 9 months back still thanks

  • @yusraalattar5593
    @yusraalattar5593 3 года назад

    You are simply the best!!

  • @husrevmustafalale2369
    @husrevmustafalale2369 9 месяцев назад

    I've recently started this tutorial series and I bet it's the most valuable tutorial even among the paid ones

    • @NetNinja
      @NetNinja  9 месяцев назад

      Hope you're enjoying it :)

  • @someoneontheinternetuvenev6268
    @someoneontheinternetuvenev6268 3 года назад

    Awesome crash courses!

  • @bencepandi3568
    @bencepandi3568 3 года назад +1

    Any idea why do I get "undefined" when I try to console log the id? I have express, bodyParser, everything set properly.

  • @rodo200__
    @rodo200__ 4 года назад +2

    podrias hacer un curso completo de stack MEVN de Javascript y con estilos de Vuetify seria excelente

  • @rodo200__
    @rodo200__ 4 года назад

    aunque no entiendo ingles pero se ve excelente lo que haces, a cada palabra que hablas tengo que traducir y no encuentro cursos en español eres genio

    • @laxmanjonchhen6593
      @laxmanjonchhen6593 3 года назад

      Me encantó tu dedicación al aprendizaje, realmente te apasiona aprender.

  • @savagereg
    @savagereg 4 года назад

    Hello, Shaun. Where did you create the 'blogs' directory as in 'blogs/create'?

  • @joaomsemedo2080
    @joaomsemedo2080 4 года назад

    Very nice tutorial:)

  • @valentinvalet2916
    @valentinvalet2916 11 месяцев назад

    thankl you for make uni a little easier for me

  • @SENPAI-mi6sz
    @SENPAI-mi6sz 3 года назад +1

    what vscode theme you are using?
    and if u have time pls make a video about some useful vscode extensions. and ty so much for those courses

  • @narimennari1207
    @narimennari1207 Год назад

    good job , it 's verry helpfull

  • @MenaseDebel
    @MenaseDebel 5 месяцев назад

    express explained simply and clearly thank you NetNinjas

    • @NetNinja
      @NetNinja  5 месяцев назад

      Glad it was helpful!

    • @MenaseDebel
      @MenaseDebel 4 месяца назад

      @@NetNinja yeah i wonder if you work video on payment integration with MERN for e-commerse site

  • @grandwizardnoticer8975
    @grandwizardnoticer8975 3 года назад

    How do we PUT, or otherwise edit and save an existing blog post?
    I have:
    * created an 'edit.ejs' based on 'create,' but with all textareas in the form.
    * put it in a sub dir to distinguish it from others for sake of the router.
    * added button to the details page that direct-links to edit.ejs:
    * used all textareas in form to get full, editable text back into form
    So the problem is that it currently creates a new, edited version of the original blog.
    What's the best way of getting it to update rather than create a new blog? Thanks!

  • @evilprince2009
    @evilprince2009 3 года назад

    Wow man , you are amazing.

  • @suatbayrak2703
    @suatbayrak2703 3 года назад

    30:15 so can we say if we make fetch requests from the front-end, we should respond it as json data from back-end ??

  • @omarkouta9720
    @omarkouta9720 2 года назад +1

    I used another way to delete a blog...
    1- clicking on the delete link in the details screen.
    2- it deletes the blog from database with "FindbyIdanddelete(id)".
    3- redirect to the main page ('/blogs').
    And it works, but I don't know if it is okay or not. May be there is a problem I didn't notice.
    Please tell me Shaun if there is any problem in this way.

  • @priyadarsimishra7909
    @priyadarsimishra7909 4 года назад +1

    Awesome Video 👍, can you make a firebase/firestore + react native app

  • @idontstudyforamidterm1069
    @idontstudyforamidterm1069 11 месяцев назад

    your videos help me sm man

    • @NetNinja
      @NetNinja  11 месяцев назад

      That's awesome to hear :) thank you

  • @thatsalot3577
    @thatsalot3577 Год назад

    Hey, I was having sort of an error when I defined the app.get('/blogs/:id') before app.get('/blogs/create') as for no reason it was treating 'create' as an id
    however it works when I define the blogs/create above.

  • @silfion2395
    @silfion2395 Год назад

    Great tutorial, is there an example of put request with this type of logic?

  • @rajithasri8426
    @rajithasri8426 4 года назад +4

    Hello sir, can u make MERN stack courese?

  • @stanisawjarocki1747
    @stanisawjarocki1747 Год назад +4

    // If you get error around 19:11, which looks like this:
    CastError: Cast to ObjectId failed for value "style.css" (type string) at path "_id" for model "Blog"
    // Then simply remove from details.ejs
    // I don't understand why, but with only this:
    const id = req.params.id;
    console.log(id);
    // id looks fine, but when you add this below:
    Blog.findById(id)
    .then((result) => {
    res.render("details", { title: "Blog Details", blog: result });
    })
    .catch((err) => {
    console.log(err);
    });
    // another id shows up in console:
    6308f2bbcb373829482ab874
    style.css
    // Is anyone able to explain this?

    • @adetunjiojekunle1502
      @adetunjiojekunle1502 Год назад

      I have this same error as well

    • @adetunjiojekunle1502
      @adetunjiojekunle1502 Год назад +5

      [SOLVED] add '/' before styles.css in head.ejs, so you have it as '/styles.css'

    • @dolusdirectu
      @dolusdirectu Год назад +1

      @@adetunjiojekunle1502 Thx m8

    • @prismanic24
      @prismanic24 Год назад

      Took me an entire day to figure out why I was getting this error, thanks!

  • @pipertime1
    @pipertime1 3 года назад +11

    This is well taught! It's very complex! Why? It seems PHP can do all this much easier and not as complex. It's feels like trying to reinvent the wheel. It may just be me.........
    I have learned a lot from Shaun on Udemy!

    • @manasnagelia
      @manasnagelia 2 года назад +2

      Totally agree. PHP is easier. But, Node.js is faster than PHP, and PHP is getting outdated, so I suggest sticking with Node.js.

    • @chisangamumba2961
      @chisangamumba2961 Год назад

      Well, that's why you should create an Ajax Application. It ensures a complete separation of Client side code from Server-Side code. 🤷‍♂️

  • @sagarmajumdar92
    @sagarmajumdar92 3 года назад

    Great Course

  • @bbbiii2341
    @bbbiii2341 Год назад

    Nailed it. U r legitimate Ninja

  • @SpiderWacho
    @SpiderWacho Год назад

    Hi! I had to trim the id with the trim method to pass it to the Blog model, did i do something wrong or there was a change on how the string from mongoDB is returned?

  • @ebiscaia
    @ebiscaia Год назад

    Hi mate,
    How could I use the contents of a div with the contenteditable="true" instead of a textarea? I would like to put a WYSIWYG app in there, but it always crash.
    Cheers,

  • @muhammadjunaid2329
    @muhammadjunaid2329 3 года назад +1

    But it adds event listener on the very first [a.delete]. How I can fix it?

  • @sebastianmyrcha1034
    @sebastianmyrcha1034 3 года назад +1

    I am also a big fan of all of your courses.
    But I am not experienced and a little bit confused.
    After the Vue course I thought that the standard is to use frontend app in framework like VEU, and some backend app which REST API serving data in JSON format.
    After this course I am not sure, because there is a different solution.
    So which solution is better, and why.
    1) Rest API with express.js and Mongo DB, and frontend application with VUE
    2) Backend serving html pages with EJS view engine

  • @_prodbyfredericxk
    @_prodbyfredericxk 11 месяцев назад

    Nice tutorial for real !

  • @johnpzaccari
    @johnpzaccari 3 года назад

    You are the freaking man!!!!!

  • @Chickengbs
    @Chickengbs 4 года назад

    What I don't quite get is, when you deleted the post/thread, why did you send back to the client the place where they should be redirected and then, they get redirected clientside. Why not just redirect them serverside?
    Would the reason of redirecting them on the client realm have to do with the fact, no serverside validation is required?
    Thanks :)

  • @Samuel-ns5jb
    @Samuel-ns5jb 2 года назад

    Master Ninja, how did you learn all these stuffs?
    You are really really good.

  • @daliusbeckjr.3918
    @daliusbeckjr.3918 9 месяцев назад

    is there an example of making an update route path. I don't know if I am on the right track with the one I made.
    nevermind :D I just figured out how to do an update method for my crud application. also thank you for the course. You are literally one of my top sources to go to when I am interested in learning more for the frontend in my full stack journey.

  • @wudehaileyesus3017
    @wudehaileyesus3017 3 года назад

    The best ever!

  • @LandusBakasima
    @LandusBakasima 2 месяца назад

    😂😂this man is a legend ..am now a back end developer in one day guys

  • @ArielAmorim29
    @ArielAmorim29 2 года назад

    Thank you for this

  • @dcoolmkia
    @dcoolmkia 3 года назад

    how do you the href=/blogs id in handlebars?

  • @hassanelwany560
    @hassanelwany560 2 года назад

    Hi,
    I am trying to get attribute values, when i tested it with
    console.log(req.body)
    it return title value, snippet value, but it didn't back with body value
    may I ask for help?

  • @zakhariihusar6975
    @zakhariihusar6975 8 месяцев назад +1

    I have a question about those dynamic routes like /blogs/:id . What happens if you past incorrect id? Then your code will try to find incorrect id in the DB and throw an error? And then you'd handle that error by redirecting to 404? Do I understand correctly? Coz I used to struggle with React Router while trying to implement routing only on the front end...

  • @kraldragon1324
    @kraldragon1324 2 года назад

    respect man i appreciate it

  • @shilpadolai4228
    @shilpadolai4228 3 месяца назад

    @23:31 can we not use href directly with the delete button providing the id in the url just like we did for the details page. that way we dont have to write evrything we wrote in the script tag??

  • @shadmanmartinpiyal4057
    @shadmanmartinpiyal4057 3 года назад +2

    Please do a full MERN Stack course.

  • @Blenberg
    @Blenberg 2 года назад

    Could you help me.
    How can i add image to this blog?.
    I tried Multer,but i couldn't display image

  • @husamsibai5799
    @husamsibai5799 2 года назад

    Thankyou very much

  • @evilservo
    @evilservo 4 года назад +1

    IS there not an express.js delete method like get and post?

  • @sagarreddy7461
    @sagarreddy7461 3 года назад

    nice one shaun

  • @huzaifashaikh6384
    @huzaifashaikh6384 3 года назад +2

    please make a series of node and react combined I can only understand your way of teaching on the whole internet. Love the way u teach it.

  • @talhayerlikaya5199
    @talhayerlikaya5199 3 года назад +1

    when you download course to github ?
    İ have an issue and cant fix it

  • @sulemanmughal5397
    @sulemanmughal5397 Год назад

    Could we not make the button into a form tag and instead of a post request we add a delete request
    ?

  • @fatmaelhosary6875
    @fatmaelhosary6875 3 года назад

    i get an error when i want to open create route after i have deleted all blogs ?
    at C:\Users\Fatma\Desktop
    odeJS
    ode_modules\express\lib
    outer\index.js:284:7 {
    messageFormat: undefined,
    stringValue: '"create"',
    kind: 'ObjectId',
    value: 'create',
    path: '_id',
    reason: Error: Argument passed in must be a single String of 12 bytes or a string of 24 hex characters

  • @graham11545
    @graham11545 2 года назад

    Hi my script in the details.ejs is showing on browser and is not functional, I am unable to get my blogs to delete

  • @cyrusharoon85
    @cyrusharoon85 4 года назад +1

    Sir, please make Node bootcamp with ecommerce and React with Redux ecommerce on udemy paid courses. You are an awesome instructor.

  • @andromilk2634
    @andromilk2634 4 месяца назад

    There was something which I was wondering when you create your request types : instead of using the name /blogs for a POST request, so the same as /blogs for a GET request, I assume that could you have picked any other term for this POST request instead and it would have worked without any problem?

  • @senikoding817
    @senikoding817 4 года назад

    Always good 👍

  • @muskaan7895
    @muskaan7895 3 года назад +1

    The only part which I found a little difficult 😬 especially that delete.

  • @nirodhalakmali8835
    @nirodhalakmali8835 3 года назад

    This is interesting and valuable tutorials. I am creating project and I want to how to use put request to update data.Can you give code for it.Thank you

  • @feruzteame8854
    @feruzteame8854 3 года назад

    you done Great !

  • @bijayaadhikari442
    @bijayaadhikari442 4 года назад

    Checking out with perks