如何将变量从 ajax 成功范围传递到全局范围?

时间:2021-04-09 21:19:24

标签: javascript json ajax scope

我正在尝试从 json 文件中获取 json 数据。我想要这个名为 getJSON 的函数(我知道一个名为 getJSON 的 jquery 函数存在并且基本上就是这样做的)能够只返回 data > 我们在成功的范围内。但是,如果我 console.log(data) 在成功范围内,我不会获得与我 console.log(test)console 时相同的结果.log(playgroundList).

第一个给了我我正在寻找的实际数据,位于第二个和第三个的 responseJSON 中。但是,如果我尝试获取 ajax({...}).responseJSON,除了 undefined 之外,我似乎什么也得不到。

我尝试了回调方法,但同样的事情发生了,每次都未定义

另外,我不想将 ajax 函数的 async 参数设置为 false,因为它已被弃用。

预先感谢您的帮助,

代码如下:

$(function(){
  function getJSON(path){
    var result = $.ajax({
      dataType: "json",
      url: path,
      success: function(data){
        return data;
      }
    });
    return result;

  }

  const playgroundList = getJSON("./assets/js/json/PlaygroundList.json");
  const test = getJSON("./assets/js/json/test.json")

  console.log(playgroundList);

});

0 个答案:

没有答案