PUT чаще всего используется для реализации RESTful API. На JS «это» наверняка можно сделать при помощи AJAX-метода jQuery − put(). Вопрос только в том, что «это» такое, и не научим ли мы тебя дурному. :)
При помощи PUT в RESTful API принято совершать идемпотентные действия, то есть такие, от повторения которых ничего не изменится. POST не идемпотентен.
Практический пример: если на REST реализуется CRUD-интерфейс, то PUT служит для редактирования записи, а POST − для создания. Если повторить одинаковый запрос POST два раза с одной и той же JSON-нагрузкой, создадутся две одинаковые записи (ну, или на второй запрос вернётся ошибка, если одинаковых записей быть не может). Если отправить одинаковый PUT хоть десять раз, содержимое БД от этого не изменится.
Разумеется, реальные API могут реализовывать любые извращения, в том числе и использовать любые типы запросов для чего угодно. Но лучше почитай что-нибудь про RESTful API, например, в Википедии, а когда достигнешь просветления, посмотри доки к Django REST Framework.