繁体   English   中英

如何从 Ajax 请求 function 返回 JSON?

[英]How to return JSON from Ajax request function?

我想建立一个网站,使用客户端调用 API 和 JavaScript。 我不知道该怎么做,所以我搜索了一下,发现了 Jquery。 然后我写了发出请求的 function。 它看起来像下面这样:

async function makeRequest(url) {
  await $.getJSON(url, function (data) {
    console.log(data);
    return data;
  });
}

这工作正常,打印语句打印接收到的数据。 但是,如果我从另一个 function 调用这个 function,它不会返回任何内容。 每次都显示为未定义。 一个例子:

document.addEventListener("DOMContentLoaded", async function () {
  var players = await makeRequest(
    "https://phijoto.ddns.net/Playtime/playtime.json"
  );
  console.log(players);
});

async function makeRequest(url) {
  await $.getJSON(url, function (data) {
    console.log(data);
    return data;
  });
}

如果我运行它,它会通过第二个打印语句打印出接收到的数据,但第一个总是返回“未定义”。 我能做些什么呢?

你必须从makeRequest返回一些东西。

另外:不要混合回调和承诺,充其量它会使代码混乱。

async function makeRequest(url) {
  const data = await $.getJSON(url);
  console.log(data);
  return data;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM