在多个函数jquery中加载一个JSON文件

时间:2017-11-30 17:02:50

标签: jquery json

我目前正在尝试使用一个JSON文件将数据加载到我的页面上。我里面有两个数组:

{
"categories": [],
"cartItems": []
}

我将数据加载到页面上,但每次我想要加载页面时,我都会调用JSON文件,在模态中查看项目,然后在项目添加到购物车时加载它。

function getData() {
    $.getJSON("data/data.json", function (data) {


    });

};
function modalData() {
        $.getJSON("data/data.json", function (data) {


        });

 };
function addtocart() {
        $.getJSON("data/data.json", function (data) {


        });

 };

是否有一种更简单的方法来加载数据,而不是每次运行新函数时都不调用它?

1 个答案:

答案 0 :(得分:0)

终于找到了解决方案,你需要将ajax请求的输出分配给一个变量,该变量对所有相应的函数都是可见的,你将在这里使用它,希望这能解决你的问题!

var root = 'https://jsonplaceholder.typicode.com';
var dataMaster = function() {
  var tmp = null;
  $.ajax({
    async: false,
    url: root + '/posts/1',
    method: 'GET',
    success: function(data) {
      tmp = data;
    }
  });
  return tmp;
}();


function modalData() {
  console.log(dataMaster.userId);
};
modalData();

function addtocart() {
  console.log(dataMaster.userId);
};
addtocart();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>