1
我實現了jQuery的可拖放/可拖拽的筆記列表,以便對它們進行分層次排序,這在當時工作正常,但我覺得自己做得太多了。在創建手動Ajax請求時使用jquery-rails(ujs)
整個csrf
部分手動發送請求,我也手動評估響應,這是ujs提供的功能。有沒有一種方法可以無縫地整合,以便我可以使用ujs庫的優點?
我想到的一個可能的解決方案是將整個可拖動的元素包裝成<form data-remote="true">
,但是這感覺有點ha。。
$(function()
{
$('#notes-container .note').draggable();
$('#notes-container .note').droppable({
drop: function(event, ui)
{
$.ajax({
type: 'PUT',
url: ui.draggable.find('form').attr('action'),
data: {
authenticity_token: $('meta[name="csrf-token"]').attr('content'),
task: {
parent_id: $(this).data('id')
}
}
});
}
});
});
這並不是什麼黑客攻擊,你只需要爲整個表單的處理提交AJAX。我做了很多。我有幾十個AJAX動作的remote => true的表單。但要小心,我有一小組用戶(如277 MAX),我不關心他們必須啓用javascript來使用我的網站。如果您擔心對禁用JavaScript的用戶不顯眼或擔心,我不是最好聽的。 – RadBrad
,因爲這應該是一個小小的web應用程序,我覺得網站應該不斷髮展,並且不支持,我不會給用戶使用任何東西,例如IE <8等。我的目標是保持代碼乾淨,乾爽,而不是向下 - 兼容十年;-) – pduersteler