Because the server side only accepts PUT method, I used method='PUT' in the HTML form. But the browser didn't use method PUT as expected, it's GET. When I set method='POST' it's POST. 
I don't know why method='PUT' doesn't work. I have tested on Chrome and Firefox.
Browsers only support POST and GET, if you need PUT, you have to send the form via post/get and then do the proper PUT request on server-side.
EDIT although, most implementations of XMLHttpRequest support PUT and DELETE.
PUT is not recognized and is assimilated to GET.
Most frameworks use a hidden input to obtain PUT or DELETE: 
<input type="hidden" name="_method" value="PUT">
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With