Я использую код перетаскивания пользовательского интерфейса jquery. После удаления выполняется запрос getJSON для проверки новых данных и обновления базы данных. Это работает нормально, пока мой сервер не вернет ошибку, потому что я не могу отменить удаление из анонимной функции.
В случае ошибки сервер возвращает json, который выглядит следующим образом:
{"result":0}
Это код, обрабатывающий сброс:
$('.droppable').droppable({
drop: function(event, ui) {
$.getJSON('/roster/save', 'location_id=1', function (){
if (data.result==0) {
// now the drop should be cancelled, but it cannot be cancelled from the anonymous function
}
});
// if data was available here I could check the result and cancel it
if (data.result==0)
return false; // this cancels the drop
// finish the drop
ui.draggable.appendTo($('ul', this));
}});
Надеюсь, это немного понятно.
Есть идеи? :)