存储将传递给jQuery插件的JSON数据的最佳实践

时间:2009-02-05 21:54:50

标签: javascript jquery json naming-conventions

我正在寻找关于JSON应该存储在何处的“最佳实践”,如果它只是一个字符串数组。它应该存储在HTML页面的脚本块中的变量中吗?它应该存储在HTML之外的JavaScript文件中以便分离吗?或者它应该存储在插件本身?

如果它应该是外部js文件,那么该文件的“最佳实践”命名方案是什么?我知道接受的jQuery插件名称是jquery.plugin.js或jquery.plugin-min.js(用于缩小的文件)。

3 个答案:

答案 0 :(得分:6)

取决于,如果您需要立即使用JSON,您可以将其存储在任何位置以执行它:

<script> var myJsonObj = { ... }; </script>

如果它是大量数据并且您不需要立即获取数据,则可以始终对名为“data.json”的文件进行ajax调用。

为了命名插件名称,它真的取决于你,但是我相信jquery.pluginname.js是标准的做法。

答案 1 :(得分:1)

我将第二个sktrdie为这样的文件添加扩展名.json。我第一次玩JSON时遇到的问题是JSON字符串不是有效的JavaScript文件。

例如,如果我使用此内容调用文件:

{
    'foos': 'whatever',
    'bar': false,
    'items': [1,2,3]
}

作为&lt; script&gt;的src标签,我收到此错误:

Error: invalid label
Line: 2, Column: 1
Source Code:
 'foos': 'whatever',

过去我实际上在&lt; divs&gt;中隐藏了JSON字符串。或者跨度如下:

<div id="jsonStorage" style="display:none">
{'foos': 'whatever','bar': false,'items': [1,2,3]}
</div>

我也使用了隐藏的表单字段。

答案 2 :(得分:0)

如果它是插件的一部分,即默认配置,我会将其存储在插件文件中。如果它是插件的外部配置,那么它取决于。将它存储在HTML中的变量中可能是有意义的,即

<script>
var myConfig = {
  "foo" : "bar"
};
</script>

如果您需要后端代码生成任何JSON,情况尤其如此。

真的,答案是“它取决于” - 你能提供更多细节吗?