0

我有一个 rails3.1 应用程序,我将在其中向客户端发送一些数据。一种方法是调用 jscon,然后在客户端使用 jquery 将 json 数据添加到页面。但我直接从视图发送一个javascript代码,即从视图添加css类和id,然后将带注释的数据发送到客户端。

js.erb 文件中的类似内容

$("#posts").append("");

$("#posts").data('totalPosts', <%= @postCounter %>);

我的问题是这种方法是否有任何潜在问题?任何安全风险或浏览器问题?

谢谢, 阿尼什

4

2 回答 2

1

它会起作用,但从可维护性/系统工程的角度来看并不是那么好:

  • 您最终会得到分散在视图文件中的 jQuery javascript 片段。
  • 您可能会在其他地方有额外的 jQuery 启动/引导代码。
  • 您将动态网页(客户端)与服务器紧密耦合。松耦合更好。
  • 您正在发送 jQuery Javascript + 数据以响应客户端用户的操作。更好(更紧凑)只发送数据。

建议:切换到一个api。将您的 Rails 应用程序变成提供 json 的服务。在客户端上编写 jQuery 和常规 Javascript 以与 Rails 应用程序提供的服务进行交互。

您还可以在浏览器上使用新的紧凑库,使这变得简单而有趣。例如,我喜欢AngularJS

于 2012-05-04T19:43:26.900 回答
0

至于问题 - 这是最相关的来源:https ://github.com/rails/jquery-ujs/issues 。如您所见,没有严重的问题。

根据我的意见和经验,您可以使用您认为必要的东西来解决某个问题。

于 2012-05-04T19:29:37.233 回答