Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 应用程序加载时的主干多取数据?_Jquery_Backbone.js - Fatal编程技术网

Jquery 应用程序加载时的主干多取数据?

Jquery 应用程序加载时的主干多取数据?,jquery,backbone.js,Jquery,Backbone.js,我有一些主干集合应该在加载时加载到我的应用程序中(引导数据)。这些数据是静态信息,用于填充列表、下拉列表等 加载这些数据的最佳方式是什么,并确保它们在路由器实例化之前已完全加载 App.StaticCollections.contactTypes.fetch({}), App.StaticCollections.documentTemplates.fetch({}), App.StaticCollections.invoiceStatuses.fetch({}), App.StaticColle

我有一些主干集合应该在加载时加载到我的应用程序中(引导数据)。这些数据是静态信息,用于填充列表、下拉列表等

加载这些数据的最佳方式是什么,并确保它们在路由器实例化之前已完全加载

App.StaticCollections.contactTypes.fetch({}),
App.StaticCollections.documentTemplates.fetch({}),
App.StaticCollections.invoiceStatuses.fetch({}),
App.StaticCollections.estimateStatuses.fetch({}),
App.StaticCollections.currencies.fetch({})

App.Router = new MainRouter();
Backbone.history.start({
    pushState: false,
    root: App.Root
});


借用苏珊特的评论。。。通常,您不希望仅为了使页面能够呈现而发出多个请求。如果存在网络延迟,用户可能会感到非常沮丧

使用以下方法将数据引导到页面:


如果合适,可以使用服务器端语言动态嵌入值。

最好在最初加载页面时始终显示静态数据。。。将此数据引导到您的页面。。不要在页面加载时获取它当您说动态嵌入值时,您的意思是将JSON文件作为网站的静态文件包含,还是只是将数据包含在脚本标记中?
$.when(
  App.StaticCollections.contactTypes.fetch({}),
  App.StaticCollections.documentTemplates.fetch({}),
  App.StaticCollections.invoiceStatuses.fetch({}),
  App.StaticCollections.estimateStatuses.fetch({}),
  App.StaticCollections.currencies.fetch({})
).then(function () {
  App.Router = new MainRouter();
  Backbone.history.start({
    pushState: false,
    root: App.Root
  });
});
App.StaticCollections.contactTypes.reset([ 
    { attr1: "val1", ... }
]);