Home > Article > Backend Development > Why do I always get "Method not allowed" on my html template whenever I try to use http.MethodDelete?
php editor Baicao encountered the problem of "method not allowed" when using http.MethodDelete, which may be caused by server settings or code logic issues. First, make sure your server is properly configured and has the DELETE method enabled. Secondly, check your code logic to make sure that your code does not restrict or intercept the method when handling DELETE requests. Also, check whether your form or link uses the DELETE method correctly. If the above checks are normal, the problem may be due to other reasons. It is recommended to check the server log to find more detailed error information.
I am using http.MethodDelete to try to remove quotes from my html template. Every time I press the delete button I get an error message.
I tried using this in my html template "Delete" but it still gives me the error.
I think you mean:
router.handlerfunc(http.methoddelete, "/quote/delete", app.quotedelete)
<a class="delete-button" href="/quote/delete?quote_id={{ .quoteid}}">delete</a>
By default, browsers follow links by sending get
requests. It's not sending the delete
request as you expected.
You can use javascript code to send a delete
request.
It doesn't appear that you have any javascript code written in your project, so a quick fix is to modify the server code to handle post
requests and use a form to send the post
request to the delete resource endpoint : p>
router.handlerfunc(http.methodpost, "/quote/delete", app.quotedelete)
<form action="/quote/delete?quote_id={{ .QuoteID }}" method="post"> <button type="submit">Delete</button> </form>
Please note that forms cannot be used to send delete
requests. The documentation lists the methods allowed by the from element. Form elements from mdn:
method
http method for submitting the form. The only allowed methods/values are (case insensitive):
post
: post method; form data is sent as the request body. get
(default): get; form data appended to action url with ? separator. Use this method when the form has no side effects. dialog
: When the form is inside a38fd2622755924ad24c0fc5f0b4d412
, closes the dialog box and causes the submit event to be fired on submission without submitting the data or clearing the form. For the definition of http request method, please see http request method.
The above is the detailed content of Why do I always get "Method not allowed" on my html template whenever I try to use http.MethodDelete?. For more information, please follow other related articles on the PHP Chinese website!