5

當某人禁用JavaScript時,Ruby on Rails 3.2和4.0中是否存在回退機制?禁用JavaScript的RoR

應用程序如何反應,特別是使用ajax請求時。它會回退到正常請求嗎?

我問這個,因爲我需要一個網站,也可以處理來自文本瀏覽器的殘疾人請求。

如果沒有默認回退,有什麼策略。

回答

0

經過一番研究,我找到了答案:

的Ruby on Rails使用非侵入式JavaScript來實現這一目標。如果javascript被禁用,那麼任何Ajax請求都會優雅地「降級」到正常的POST或GET請求。唯一不能直接使用的動作是delete,因爲它是本地所有瀏覽器不支持的唯一請求,並且需要js。

瞭解更多關於在railscast:http://www.youtube.com/watch?v=t_MBLfrKTiE

1

看到這文章。 Stop loading the page if Javascript is disabled

一般來說,我不能真正考慮這裏的任何回退機制 - 請注意,由rails完成的大部分請求實際上是ajax請求,因爲不可能通過發送PUT或DELETE(而不是刪除請求, Rails通過data: {"_method"="delete"}發送ajax發佈請求)。

總之,對我來說,禁用JS將會使頁面大打折扣,今天我要對它進行測試。

+0

這不是一個AJAX請求,它只是一個'機架:: MethodOverride'中間件,在請求搜索'_method' PARAM並相應地改變動詞。 – synapse

1

我對RoR並不熟悉,但我懷疑這更像是您設計前端架構的問題。我有限的理解是,RoR沒有提供任何JavaScript「開箱即用」;它的默認狀態是創建生成平面HTML的視圖,您可以使用JS和CSS打扮自己的喜好。

您的HTML應該寫得這樣,用戶應該能夠得到他們最感興趣的所有內容,而不必依靠JavaScript來做到這一點。這意味着你應該只使用JS來增補的體驗。在通用前端練習的語言中,做漸進增強