Javascript更新和访问变量外部函数

时间:2012-01-13 11:43:41

标签: javascript jquery json function variables

我一定是做错了。我希望下面的代码可以更新并访问全局变量'gvar',但事实并非如此。我做错了什么?

<script type="text/javascript">
    var gvar;
    $(function () {                     
        $(document).ready(function () {
            $.getJSON("json.php", function (myData) {
                $.each(myData.tag, function (t, myData) {
                    if(myData.myId != null) {
                        gvar = myData.myId;
                    }
                });
                return false;
            })
        });
    });
</script>

<script type="text/javascript">
    alert(gvar);
</script>

1 个答案:

答案 0 :(得分:3)

只有在dom准备好后才会填充

gvar。但是,只要解析了部分代码,就会执行警报。尝试将警报放在ready()功能的末尾。

@Yoshi还有另一个我错过的好处:变量的数量甚至会延迟,直到请求成功执行。要测试它,您可以设置几秒钟的超时,然后提醒变量。到那时请求应该已经结束,变量将具有可以被警告的值。但这只是为了测试变量是否在全局范围内工作,因为当在回调内部发出警报时,变量已经设置在警报的正上方。 ;)