Sending a form using the FormData object - JavaScript Tutorial

Поделиться
HTML-код
  • Опубликовано: 1 окт 2024
  • 👉 Source code: openjavascript...
    💬 Like to chat JS/webdev? Say hello on our new community forum: forum.openjava...
    ⚡ Looking for high-performance, afforable web hosting? We use HostWithLove: bit.ly/3V2RM9Q ❤️
    Using the FormData object constructor in JavaScript, you can easily prepare and send a payload containing data from a form without needing to select form items individually or set POST request headers manually.
    #javascript #formdata #frontend #webdevelopment #javascript_tutorial
    🔔 Subscribe for more tutorials just like this: / @openjavascript
    ⚡ NEW: Web development courses from Meta Inc. ⚡
    Front-End Developer Professional Certificate: imp.i384100.ne...
    Back-End Developer Professional Certificate: imp.i384100.ne...
    iOS Developer Professional Certificate: imp.i384100.ne...
    Meta Android Developer Professional Certificate: imp.i384100.ne...
    Meta Database Engineer Professional Certificate: imp.i384100.ne...
    Website: openjavascript...
    Twitter: / openjavascript

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

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

    Thanks for watching!
    👉 Source code: openjavascript.info/2022/04/26/post-form-data-using-javascripts-fetch-api/

  • @mildmildfire
    @mildmildfire Год назад +2

    Superb! Just what i was looking for!😊

  • @Pomyluna99
    @Pomyluna99 Год назад +3

    Thanks for that bit about how if a form field lacks the name attribute the FormData object won't include it. Couldn't solve that little mystery, much appreciated!

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

      Yes, that's a bit of a gotcha when you start using this method. Easy to a omit a name attribute and wonder what went wrong.

  • @lemonade2345-j4e
    @lemonade2345-j4e 21 день назад

    Superb, and noobs friendly!

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

    Hello sir I was stuck in changing the object into FormData. I created the object of FormData and append the key values. but the formdata object is empty. would you like to guide me? I have also searched from many resources but still the error is not resolved.

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

      A really common reason this can happen is that there is no "name" attribute set on input elements in the form. Only elements with this attriubte will appear in a FormData object if you create it by passing a form element into it like I do this this tutorial.
      You may also want to check your code against that posted for in the related blog post for this tutorial, which has a live working example: openjavascript.info/2022/04/26/post-form-data-using-javascripts-fetch-api/

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

    Set a variable to [...formData].
    In the latest version of node, node 18.x.x. is on my machine and formData wasn't iterable. I had to set it to a variable `let formValues = [...formData];` wish I understood it better. Okay on to the next thing.
    Gg yall, comment.

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

    Thank you very much for me is very useful and it´s very god to know new ways to program.

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

      Thank you! I'm glad you enjoyed the video :)

  • @m3hdim3hdi
    @m3hdim3hdi Год назад +2

    is formdata still used or there is something better?

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

      The FormData constructor is still used. It's a native tool for the job and a really good way to parse form data.
      Your other alternative is, if your data is okay in pure string format, send to the server as URL parameters (ruclips.net/video/7BbL2PZ5394/видео.html).

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

      @@OpenJavaScript thank you so much for replay

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

    Great job 🎉🎉..You explained it in a very easy way.. thank you..❤

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

    I was only looking for a way to debug my FormData object. You showed not only that but how to formulate a request and receive a response. This is a great help, as I am not that familiar with JavaScript.

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

    Great tutorial man, wonderfull to watch,
    If I may one question,
    Where exactly in the code you insert the user file?
    it seems like in row number 44 in "file.files[0]", you just get the location of where to store the file in the object formData..but inserting the file itself that the user gave

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

      The file is selected by the user via the input element in the HTML form.
      On line 43 I select this element. And on line 44 I am appending the file that exists there to the FormData object I created on 41. A user-selected file on a file input is available on the files property in array format (even when there is only one file). So for a single file, this is at position 0 in the array.
      Hope that helps!

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

      @@OpenJavaScript Oh! now I got it, thanks for the quick response BTW , so, when a user upload a file, its automatically being stored in a object called "files", and what you have done in row 44 is only accessing to this specific file location by "file.files[0]", so when you append it to the formData, its like saying, create key: image and give it the data that is stored at file.files[0] (cause here youll find the file that the user uploaded,) RIGHT?

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

      @@yofi2614 Exactly! It's stored on file.files in filelist format (similar to array) so you can access it by its index in that filelist. Always index position 0 for a single file :)

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

    Lol this is very advanced.. let me keep scrolling to my learning level 😢

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

    can we send multiple images ?

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

      use multer please to demonstrate how we can crop each image and send to to server using multer

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

    I wasn't able to get for (item of blah) to work

  • @sg-ck2oh
    @sg-ck2oh Год назад +1

    How was the server made or was it nodejs?

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

      It isn't a server I created. It's a live test server for creating HTTP requests that mirrors the information you send it in the response (so you can see what the server sees).
      Here's the homepage: httpbin.org/

  • @عوالممدهشة-ت7و
    @عوالممدهشة-ت7و 2 года назад +1

    When i send the form with images it gives me this error unsupported media

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

      In that case, you may want to try embedding the file in a Blob object before appending it to the FormData object then:
      const blob = new Blob([yourFile], { type: mimeType });
      A Blob (binary large object) is a universally recognized way to store and transfer files of any type, so hopefully this solves your problem...

    • @عوالممدهشة-ت7و
      @عوالممدهشة-ت7و 2 года назад

      @@OpenJavaScript when i send it it give me missing content-type boundary

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

    thank you stranger on the net ! that was very useful :)

  • @Khalid-sr4zo
    @Khalid-sr4zo 4 месяца назад

    very nice, thank you!

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

    Really clear - thanks!

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

    thank you very much

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

    THANK YOU

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

    GOOD!!!!!1

  • @spoiler3537
    @spoiler3537 Год назад +2

    Great explanation . Can show the server side code as well ?

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

      I'll keep it in mind to show more server-side code in future, but this server in particular is a live public test server that I do not control. But it is often useful because it mirrors what you send it back and viewers can make the same requests I am without any CORS error.
      However, if you are interested in learn more about handling uploads server-side, you might find my more recent tutorial on handling file uploads in Node.js useful: ruclips.net/video/TZvMLWFVVhE/видео.html