Javascript don';如果请求已经完成并且数据可用,则在ajax调用期间不执行数据库查询请求

Javascript don';如果请求已经完成并且数据可用,则在ajax调用期间不执行数据库查询请求,javascript,jquery,sql,ajax,abort,Javascript,Jquery,Sql,Ajax,Abort,我的视图中有一个按钮,单击该按钮会触发对数据库数据的ajax请求。然后我在页面中显示数据。如果再次单击按钮,我希望能够隐藏数据,如果再次单击,则显示数据,依此类推。我不想每次单击时都执行新的DB查询 例如,我的请求如下: $.ajax({ url: '../route/button, type: 'get', data: {_method: 'get', _token: token}, succes

我的视图中有一个按钮,单击该按钮会触发对数据库数据的ajax请求。然后我在页面中显示数据。如果再次单击按钮,我希望能够隐藏数据,如果再次单击,则显示数据,依此类推。我不想每次单击时都执行新的DB查询

例如,我的请求如下:

$.ajax({

            url: '../route/button,
            type: 'get',
            data: {_method: 'get', _token: token},
            success: function (data) {

            // bla bla get data from DB and insert in div

       });
因此,一旦单击,我就有了数据,然后再次单击按钮,我想切换();div和数据从页面中消失,但是如果我再次单击,我只想再次切换div并显示已经存在的数据,而不需要再次执行DB查询。
有什么线索吗?

您必须保存来自ajax请求的数据。然后,每次单击按钮时,检查是否保存了数据。有关示例,请参见

;(function() {
  var data = null,
      $output = $('#output');
  $output.hide();
  $('#button').on('click', function() {
    if (data === null) {
      // ajax request
      data = {
          foo: 'bar'
      };
      console.log('fetching data');
      // populate table with data
    }
    $output.toggle();
  });
})();

是的,伙计,这很有效。我设置了一个变量,但出现了一些错误。谢谢