Javascript 如何成功地通过控制台记录来自此api的数据?

Javascript 如何成功地通过控制台记录来自此api的数据?,javascript,jquery,Javascript,Jquery,当我进入Network选项卡和insideresponse时,我确实得到了这个API的结果,但是我无法将它输出到控制台中 代码如下: const NAMEURL = "https://uzby.com/api.php" // get data from api function getDataFromApi(value, callback){ const QUERY = { min:`${value}`, max:`${value}` } $.getJSON(NAM

当我进入Network选项卡和insideresponse时,我确实得到了这个API的结果,但是我无法将它输出到控制台中

代码如下:

const NAMEURL = "https://uzby.com/api.php"

// get data from api
function getDataFromApi(value, callback){
  const QUERY = {
    min:`${value}`,
    max:`${value}`
  }
  $.getJSON(NAMEURL, QUERY, callback)
}

function renderResult(result){
  return `${result}`;
}

// render results to page
function displayName(data){
  console.log(data);
  const results = renderResult(data);
  $('.nameResult').html(results);
}

// wait for user to submit
function watchSubmit() {
  $('.js-search-form').submit(event => {
    event.preventDefault();
    const queryTarget = $(event.currentTarget).find('#js-dropValue');
    const thisquery = queryTarget.val();
    getDataFromApi(thisquery, displayName);
  });
}
// running the watch submit function waiting for click
$(watchSubmit);
我尝试了一个
console.log(getDataFromApi())
,但在console中没有定义。

console.log(getDataFromApi())永远不会工作,它的
displayName()
必须由控制台记录

您的代码没有错,除了您试图控制台日志之外,但即使这样,它也不会工作,因为uzby不希望直接与您的应用程序共享其资源

事实上,你所得到的错误,CORS错误就是问题所在

您需要通过自己的服务器(加载页面的服务器)代理该请求。您必须研究服务器端语言代理的文档。代码的潜在解决方案可能如下所示:

xmlhttp.open(
    'GET',
    'https://cors-anywhere.herokuapp.com/https://example.com/api.php?' + param,
    true
  );

您是
控制台。登录
displayName
不是吗?您是否碰巧在浏览器控制台中看到一个错误,与缺少访问控制头有关?
getDataFromApi
不会返回任何内容。不确定jQ中的ajax调用是否是异步的,但不管怎样,该函数都不返回任何内容,并且wilk始终记录控制台日志undefined@JaromandaX,我的访问控制标题丢失了好吧,这是你的问题-该网站不想直接与你的网页共享资源-你需要通过自己的服务器代理该请求,加载页面的那个