четверг, 4 октября 2012 г.

Re: Удаление сообщений а-ля GMail

Я бы сказал, что GET - это не очень хорошо в данном случае.

Существует общепринятая практика применения для запросов,
модифицирующих данные, метода POST. Не говоря уже про метод DELETE, но
это для RESTful сервисов. Для обычного сайта его применение особого
смысла не имеет.

Так же, наверное, вы будете делать отдельный view для этого, поэтому
лучше не вставлять слово "remove" в параметр.

Предположим, что у вас есть такой html:

<div class="msg-actions">
<input type="button" class="msg-btn-delete" value="Удалить">
</div>
<div id="msg_list">
<div class="msg">
<input type="checkbox" class="msg-mark" data-msg-id="1">
<a href="/msg/1/">Тема сообщения</a>
</div>
<div class="msg">
<input type="checkbox" class="msg-mark" data-msg-id="2">
<a href="/msg/2/">Тема сообщения</a>
</div>
<div class="msg">
<input type="checkbox" class="msg-mark" data-msg-id="3">
<a href="/msg/3/">Тема сообщения</a>
</div>
</div>
<div class="msg-actions">
<input type="button" class="msg-btn-delete" value="Удалить">
</div>


Тогда, используя jQuery это будет выглядеть вот так:

$(function () {
$('.msg-btn-delete').click(function () {
var msg_ids = [];
$('.msg-mark:checked').each(function () {
msg_ids[msg_ids.length] = $(this).attr('data-msg-id')
})
$.post(
'/msg/delete',
{'msg_ids[]': msg_ids},
function () {
// Удалить сообщения из отображения и т.п.
}
)
})
})


--
Serge Matveenko
mailto: serge@matveenko.ru
github: http://lnkfy.com/1
linkedin: http://lnkfy.com/S

--

Комментариев нет:

Отправить комментарий