In my first Node project Express/Express-resource libraries are used and Jade for templating.
According to docs default mappings are generated. Among them we can find:
PUT /forums/:forum -> update
Yet, I do not see easy way to submit values.
How to submit creation/update?
Jade form can be created easily and body parser as well, but how to submit this form? Please note that express-resource defines PUT method (not POST).
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();
});
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