0

我有一個rails3.1應用程序,我將發送一些數據給客戶端。一種做法是jscon調用,然後在客戶端使用jquery將json數據添加到頁面。但我直接從視圖發送JavaScript代碼,即從視圖添加css類和id,並將註釋的數據發送到客戶端。直接從rails視圖發送JavaScript的任何問題?

這樣的事情在js.erb文件

$( 「#帖」)追加(」「)。 (「#posts」)。data('totalPosts',<%= @postCounter%>);

我的問題是這種方法有沒有任何潛在的問題?任何安全風險或瀏覽器問題?

感謝, 阿尼什

回答

1

它將工作,但不是那麼大,從一個可維護性/系統工程點:

  • 您將與分散之間視圖文件的jQuery JavaScript代碼片段結束。
  • 您可能會在其他地方使用其他jQuery啓動/引導代碼。
  • 您將動態網頁(客戶端)緊密地耦合到您的服務器。鬆耦合效果更好。
  • 您正在發送jQuery Javascript +數據以響應客戶端用戶的操作。更好(更緊湊)只發送數據。

建議:切換到api。讓您的Rails應用成爲提供json的服務。在客戶端上編寫jQuery和常規Javascript,以便與Rails應用程序提供的服務進行交互。

您還可以在瀏覽器上使用新的簡化庫,使其變得簡單而有趣。例如,我喜歡AngularJS

+0

謝謝Larry。是的,使用json響應聽起來更合理。 – Anish

0

至於問題 - 這是最相關的來源:https://github.com/rails/jquery-ujs/issues。如你所見,沒有嚴重的問題。

我的意見和經驗,你可以使用你認爲有必要解決某個問題。

+0

謝謝米哈伊爾。我的問題更像是有沒有這種方法的任何安全問題,而不僅僅是發送json。 – Anish