2012-01-03 17 views
1

我正在製作一個動態清單,並且在AJAX請求和數據庫更新方面遇到了一些問題。基本上,當一個項目被點擊,我異步更新數據庫,說一個項目已被點擊。這裏是JavaScript:AJAX請求和RoR中的CookieOverflow

$('.checkBoxContainer').click(function() { 
    $(this).css("background-color", "#FFF3D8"); 
    $(this).find("input").attr("disabled", "disabled") 
    $(this).find("p").css("text-decoration", "line-through") 
        .css("color", "#AAA"); 
    $.ajax({ 
     type : "POST", 
     url : "updateDone", 
     data : "id=" + $(this).attr("id") 
    }); 
}); 

這裏是控制器

def updateDone 
    currentItem = Item.find(params[:id]) 
    currentItem.update_attribute(:done => true) 
    end 

下面的代碼工作只有5個項目左右,在命令提示符下拍攝我以「Cookie溢出」錯誤之前的方法。我沒有使用任何cookie或會話數據,因此如何產生這個錯誤?如果事實證明這是一個cookie問題(雖然我不明白)如何清除服務器/瀏覽器中的會話/ cookie數據,以便客戶可以在清單上創建超過5個項目?

+0

你可以截圖或複製/粘貼錯誤消息嗎? – denniss 2012-01-03 23:41:12

回答

3

在會話中存儲的東西較少,或將會話存儲移動到memcache
基於默認cookie的會話存儲只能容納高達~4kb的數據,因爲根據標準的cookie不允許有更大的大小。

+0

如果您在應用程序的某個地方肯定會收到「Cookie Overflow」,則會將某些數據放入會話中,直到溢出。 – clyfe 2012-01-03 23:46:36

+0

是的,你是對的。對於那個很抱歉 – Vivek 2012-01-04 03:47:02