Sending a form using the FormData object - JavaScript Tutorial

แชร์
ฝัง
  • เผยแพร่เมื่อ 22 ธ.ค. 2024

ความคิดเห็น • 39

  • @OpenJavaScript
    @OpenJavaScript  2 ปีที่แล้ว

    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!😊

  • @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.

  • @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.

  • @kartikeyrana3736
    @kartikeyrana3736 ปีที่แล้ว

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

  • @dailydose8197
    @dailydose8197 8 หลายเดือนก่อน

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

  • @louleg23
    @louleg23 6 หลายเดือนก่อน

    Really clear - thanks!

  • @lemonade2345-j4e
    @lemonade2345-j4e 3 หลายเดือนก่อน

    Superb, and noobs friendly!

  • @Khalid-sr4zo
    @Khalid-sr4zo 7 หลายเดือนก่อน

    very nice, thank you!

  • @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 :)

  • @modernNeanderthal800
    @modernNeanderthal800 ปีที่แล้ว

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

  • @yofi2614
    @yofi2614 2 ปีที่แล้ว +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  2 ปีที่แล้ว

      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 2 ปีที่แล้ว +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  2 ปีที่แล้ว

      @@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 :)

  • @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/

  • @m3hdim3hdi
    @m3hdim3hdi 2 ปีที่แล้ว +2

    is formdata still used or there is something better?

    • @OpenJavaScript
      @OpenJavaScript  2 ปีที่แล้ว +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 (th-cam.com/video/7BbL2PZ5394/w-d-xo.html).

    • @m3hdim3hdi
      @m3hdim3hdi 2 ปีที่แล้ว

      @@OpenJavaScript thank you so much for replay

  • @sg-ck2oh
    @sg-ck2oh 2 ปีที่แล้ว +1

    How was the server made or was it nodejs?

    • @OpenJavaScript
      @OpenJavaScript  2 ปีที่แล้ว +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

  • @nguyenviet908
    @nguyenviet908 7 หลายเดือนก่อน

    thank you very much

  • @patshalaaa
    @patshalaaa ปีที่แล้ว

    can we send multiple images ?

    • @patshalaaa
      @patshalaaa ปีที่แล้ว

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

  • @DubPlayer1
    @DubPlayer1 8 หลายเดือนก่อน

    THANK YOU

  • @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: th-cam.com/video/TZvMLWFVVhE/w-d-xo.html

  • @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.

    • @keithramatlhape8789
      @keithramatlhape8789 หลายเดือนก่อน +1

      It was also giving me an issue. I used:
      `
      for (let [name, value] of formData) {
      console.log(name, value)
      }
      `

    • @modernNeanderthal800
      @modernNeanderthal800 หลายเดือนก่อน

      @keithramatlhape8789 thanks!!!

  • @newworld4252
    @newworld4252 ปีที่แล้ว

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

  • @nevestunga955
    @nevestunga955 ปีที่แล้ว

    GOOD!!!!!1