Javascript:只运行一次函数,包括部分回发

时间:2014-07-24 07:33:48

标签: javascript jquery postback

我有一个页面,我需要在window.onload事件上加载数据到缓存,这是通过使用jquery ajax进行异步调用来完成的,如下所示

<script type="text/javascript">
    window.onload=loadcache();

    function loadcache(){
        $.ajax({
            url: "/AsyncCache/LoadCache",
            async: true,
            ...
        });
        }
    }
</script>

这个缓存工作正常,但页面上只有很少的部分回发,所以每次回发都会调用函数 loadcache(),这让我很担心。

尝试了方法:

将ajax调用移至 $(document).ready 仍然在每次回发时调用函数 loadcache()

我知道这个问题在这个论坛中重复了几次,但我无法得到答案,参考下面的一些问题:

Load one time beside the $(document).ready(...) ? Jquery

Only fire an event once?

如何在上述场景中使用Jquery.one?

1 个答案:

答案 0 :(得分:0)

您可以在执行加载功能时取消附加事件,并且您将是安全的 希望这会有所帮助:

function loadcache() {
  ...

  window.onload = null;
}