From the Express guide:
When using methods such as PUT with a form, we can utilize a hidden input named _method, which can be used to alter the HTTP method. To do so we first need the methodOverride middleware, which should be placed below bodyParser so that it can utilize it’s req.body containing the form values.
So:
app.use(express.bodyParser());
app.use(express.methodOverride());
And in your form:
<input type="hidden" name="_method" value="put">
Update: As I understand the new comments from the asker, nrph wants a way to submit a form with the PUT
method, using ajax. Here is a solution using jQuery:
// Use this submit handler for all forms in document
$(document).on('submit', 'form', function(e) {
// Form being submitted
var form = e.currentTarget;
// Issue an ajax request
$.ajax({
url: form.action, // the forms 'action' attribute
type: 'PUT', // use 'PUT' (not supported in all browsers)
// Alt. the 'method' attribute (form.method)
data: $(form).serialize(), // Serialize the form's fields and values
success: function() {},
error: function() {}
});
// Prevent the browser from submitting the form
e.preventDefault();
});