Из Экспресс-гид :
При использовании таких методов, как PUT с формой, мы можем использовать скрытый ввод с именем _method, который можно использовать для изменения метода HTTP. Для этого нам сначала понадобится промежуточное программное обеспечение methodOverride, которое должно быть расположено ниже bodyParser, чтобы оно могло использовать свой req.body, содержащий значения формы.
Итак:
app.use(express.bodyParser());
app.use(express.methodOverride());
И в вашей форме:
<input type="hidden" name="_method" value="put">
Обновление: Насколько я понимаю, новые комментарии от автора спрашивают, nrph хочет способ отправки формы методом PUT
, используя ajax. Вот решение с использованием 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();
});