只获取一次json数据

时间:2017-06-19 21:55:20

标签: javascript jquery json

如果我将鼠标悬停在我的元素上5次,那么json数据已经加载了5次,但我希望当鼠标悬停我的元素时只加载json数据一次。



$(document).on('mouseover', '.details-checkin,.details-checkout', function() {
  $.getJSON('http://content.anitur.com/web/Assets/js/data.json', function(data) {
    //bla bla blaaa
  });
});




2 个答案:

答案 0 :(得分:2)

您可以添加一个简单的检查,看看您是否已拨打电话。这使用了一个在事件处理程序

之外的变量
var isLoading = false;
$(document).on('mouseover', '.details-checkin,.details-checkout', function() {
  if(isLoading === false) {
    isLoading = true
    $.getJSON('http://content.anitur.com/web/Assets/js/data.json', function(data) {
      //bla bla blaaa
    });
  }
});

答案 1 :(得分:1)

你考虑过使用sessionStorage吗?如果您只需要在每个会话中获取一次JSON,您可以添加如下内容:

sessionStorage.jsonWasRead = 'true';

if (sessionStorage.jsonWasRead != 'true') {
    //your read json code
}