从Backbone Router访问JSON数据

时间:2013-08-08 13:19:39

标签: javascript json backbone.js

在我的bb路由器中,我得到了一些JSON数据

$.ajax({
            url: "js/projects.json",
            success: function(projects) {

                database.projects = projects;

                var variables = {};
                var niz = new Array();
                var param = "Client"

                        $.each(projects, function()
                        {
                            if (!variables[this[param]])
                                variables[this[param]] = [];    
                            variables[this[param]].push(this);
                        });

                        for(var d in variables) {

                                niz.push(d);  

                                var number_of_clients = niz.length;
                        }

                        console.log(number_of_clients); 

                Backbone.history.start();
            }
        });

现在我想从我的一个视图中访问这个“项目”以及一些包含该数据的东西,我知道我可以像这里一样再做同样的事情,但它的重复代码,是否有任何方法可以获取这些数据查看?我试了几件但没有成功,我总是得到未定义的

2 个答案:

答案 0 :(得分:0)

您可以将数据附加到窗口(window.projects = projects),然后您可以从任何地方访问它。但我建议你使用Backbone的ajax工具,它更容易,也不那么混乱。

答案 1 :(得分:0)

老实说,你的问题在设计方面似乎非常可疑。 :)

Ajax调用应该在使用fetch函数的模型中进行,而不是在路由器中,而不是直接使用jquery。

所以我会建议你重新设计你的应用程序,除非你有充分的理由不这样做。