2011-11-15 79 views
2

我們有一個autocompleter,它在文本框中輸入每個字母(延遲之後)後發出AJAX請求。即使延遲,結果也是很多請求,其中大部分都被忽略。如何完全取消Rails AJAX請求?

我知道我們可以中止AJAX請求,但我們如何確保Rails中止其處理(包括任何當前的數據庫查詢)?關閉連接會引發某種異常嗎?

+1

由於自動完成響應應該很快,因此確定請求應該取消而不是丟棄結果可能實際需要更長的時間。 – Nick

+0

如果我們能夠快速完成這些查詢,那麼我們就不會遇到這個問題。 :) – Peeja

回答

1

它看起來像取決於您選擇的Web服務器。 Rack沒有明確的檢測它的支持。

On unicorn,它看起來像你可以通過調整enumerable返回到機架執行一些技巧。 (如果在請求結束前停止呼叫each,則客戶端中止請求)