JSON外部文件vs在JS中定义
JSON external file vs defined in JS
什么时候使用JSON外部文件,如jQuery的
$.getJSON('external.json',function(data){});
(ajax检索)与在javascript中使用
定义var myJson = { "someVar": { "1": ["test1","test2"], "2": ["test3","test4"]} }
做这件事的"正确"方式是什么?它是否取决于JSON长度,或者是否有其他因素可以告诉您使用哪种方法?
我看到它的方式:选择加载另一个文件,这应该是缓慢的,因为你正在通过ajax调用加载数据或添加大量的行到已经打包的javascript文件,这不是一件好事。当然,你应该在哪里使用一个或另一个必须有所区别。?
我不仅对速度差异感兴趣(从ajax获取文件当然更慢),而且还对其他方面感兴趣,例如在某些情况下通常使用什么以及应该使用什么…
第一个是
的简写$.ajax({
dataType: "json",
url: url,
data: data,
success: success
});
这是一个Ajax请求,比在文件中放置一个简单的JSON对象要花费更多的时间。如果可能的话,我更喜欢第二种。此外,如果你想有好的表现,第一段时间会更长。
time(加载+解析2个文件)>> time(读取一个Javascript对象)
如果您的数据在页面创建时已知,您可能最好使用对象字面量,如:
var myJson = {...}
然而,正如Kursion提到的,
$.getJSON(...)
是一种通过ajax异步检索json数据的简写方法。如果您想从服务器检索在页面加载时未知的数据,则可以使用它…
例如,如果用户在输入控件中输入一个搜索词,您可能希望检索JSON作为响应,而不需要执行整个页面更新。你不能简单地预先定义一个javascript对象,因为你事先不知道搜索词是什么。
相关文章:
- 要求未定义JS回调参数
- 在自定义mean.io包中使用angular-chart.js作为依赖项
- 查看JS对象的所有键,甚至是getter定义的键
- 可以't计算自定义谷歌地图的js
- 无法获取属性'Id'使用Knockout.js的未定义或空引用API
- vaadin:使用自定义布局集成angular js
- Cordova:未捕获引用错误:chbrody没有使用SQLitePlugin.js定义PhoneGap
- JS定义的方法仅在语句的一部分中等于NaN
- Ember.js-定义一个全局函数,该函数可以向操作返回值
- 窗口未使用对等.js定义
- 有没有办法使用 gulp 删除 require.js 定义([..]) 包装器的所有实例
- 三个js定义了地理坐标轴
- 为pdf.js定义gulp文件
- 如何用Three.js定义一个相对于矢量路径的粒子云
- Vue.js:定义一个服务
- 如何获取使用Raphael.js定义的元素的形状名称
- 反应.js:定义自定义属性
- 如何传递元素参数给require.js定义调用
- 使用c3.js定义类别轴
- JS定义属性和原型