jQuery在两个jquery文件之间共享json数据

时间:2012-12-21 18:26:52

标签: jquery tapestry

我正在使用Tapestry5,jQuery和JSON。我想知道如何在两个jQuery文件之间共享json数据。我的json数据正被我的框架传递到文件A init中。我不确定如何让文件B与文件A一起使用。我需要更改文件A中的json数据以便在文件B中可用,反之亦然。我的目标是拆分我的javascript函数,它们都使用相同的JSON obj。我对此很陌生,所以也许我会以错误的方式解决这个问题。

档案A

(function ($) {   
    T5.extendInitializers(function(){
        function init(jsonData) {
            //do something with jsonData
        }
    }
}

档案B

(function ($) {   
    function init(jsonData) {
        //do something with jsonData
    }
}

2 个答案:

答案 0 :(得分:3)

这可能是最简单的方法

<script>window.jsonData = {foo: "bar"};</script>
<script src="a.js"></script>
<script src="b.js"></script>

答案 1 :(得分:2)

分享它们的简单方法是使jsonData全局化。一个稍微好一点的版本就是用单例包装jsonData。

另一种方法是将jsonData传递给两个init函数。 Javascript是通过引用传递的,因此如果在调用两个init函数时将jsonData传递给两者,则另一个函数make的更改将被另一个函数看到。

需要更多背景来推荐实际上最好的方法。