将javascript变量放入播放功能

时间:2012-09-19 19:42:26

标签: javascript playframework playframework-2.0

对于我的公共文件,我通常使用:

@routes.Assets.at("data/table.txt")

常规html

但是,我有一个带有变量链接的javascript

var file = "table.txt"//This changes depending on the code
var link = "data/"+ file;

并希望像这样运行一些jquery函数

$('#mydiv').CSVToTable(@routes.Assets.at(link))

但这不起作用。 我的问题

  1. 为什么游戏使用@ routes.Assets.at?它在某种程度上更安全​​吗?它似乎只是将“资产”添加到传递给它的任何内容中。使用文本“/assets/data/table.txt”
  2. 是否有缺点
  3. 我如何将javascript变量传递给@ routes.Assets.at
  4. 先谢谢!

1 个答案:

答案 0 :(得分:2)

  1. 更多......舒适(谁是客人?:))就在您使用资产的路线时,您可以切换ie。 CDN之间的速度要快得多。如果您将硬编码的网址放在任何地方,那么当您更改应用的位置时,您需要修复所有这些网址。
  2. 对于常见的JavaScript也有一些可能性,你可以举例说明write路由对JS'someSpecificRoute = '@routes.Assets.at(link)';的价值而不是在你的脚本中使用它

    $('#mydiv').CSVToTable(someSpecificRoute);
    

    也许您也可以使用javascriptRoutes但是您需要自己决定。一般情况下,当您计划使用它们超过一次或两次时,最好使用它。

  3. 最后,您可以使用硬编码路径和常用JavaScript技术发送其他参数。在这种情况下,我只能建议,出于安全原因,如果你验证传递的参数是否适合允许的类型和/或范围,它将是最好的。