Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法显示responseJson的结果_Javascript_Jquery - Fatal编程技术网

Javascript 无法显示responseJson的结果

Javascript 无法显示responseJson的结果,javascript,jquery,Javascript,Jquery,所以,问题是我似乎无法理解为什么这个函数不能正常工作。这是我在国家公园做的一个API。我想也许另一双眼睛会注意到一些我没有注意到的东西。我编程时间不长,把一切都当作一次学习经历 提前谢谢 我试过很多方法,但似乎没有一种是正确的。我是编程新手 function showResults(responseJson, params) { $('.results-list').empty(); let html = ''; for (let i = 0; i < responseJson

所以,问题是我似乎无法理解为什么这个函数不能正常工作。这是我在国家公园做的一个API。我想也许另一双眼睛会注意到一些我没有注意到的东西。我编程时间不长,把一切都当作一次学习经历

提前谢谢

我试过很多方法,但似乎没有一种是正确的。我是编程新手

function showResults(responseJson, params) {
  $('.results-list').empty();
  let html = '';
  for (let i = 0; i < responseJson.data.length; i++) {
    const park = responseJson.data[i];
    const description = park.description;
    const name = park.name;
    const url = park.url;
    const address = park.directionInfo;

    html += `
  <li><h3>${name}</h3>
  <p>Description: ${description}</p>
  <p>Link: <a href="${url}">${URL}</a></p>
  <p>Address: ${address}</p>
  </li>`;
    console.log('ugh');
  }
  $('.results-list').html(html);
  $('.results-page').removeClass('hidden');
}

function parkResults(query, highResult = 10) {
  highResult -= 1;

  const params = {
    api_key: apiKey,
    limit: highResult,
    stateCode: query
  };
  const queryString = formatQueryParams(params);
  const url = searchURL + '?' + queryString;

  fetch(url)
    .then(response => {
      if (response.ok) {
        return response.json();
      }
      throw new Error(response.statusText);
    })
    .then(responseJson => showResults(responseJson, query))
    .catch(err => {
      $('.error-message').text(`Error:${err.message}`);
      console.log('?');
    });
}
函数显示结果(responseJson,params){
$('.results list').empty();
让html='';
for(设i=0;i${name}
描述:${Description}

链接:

地址:${Address}

`; console.log('ugh'); } $('.results list').html(html); $('.results page').removeClass('hidden'); } 函数parkResults(查询,highResult=10){ 高结果-=1; 常量参数={ api_密钥:api密钥, 极限:高结果, 状态代码:查询 }; const queryString=formatQueryParams(params); constURL=searchURL+'?'+queryString; 获取(url) 。然后(响应=>{ if(response.ok){ 返回response.json(); } 抛出新错误(response.statusText); }) .然后(responseJson=>showResults(responseJson,query)) .catch(错误=>{ $('.error message').text(`error:${err.message}`); console.log('?'); }); }

根据console.log和,函数工作不正常,但未显示任何错误。所以,我有点迷路了。我只是希望函数能正常工作。

这段代码工作正常。我已经将代码简化为其他人可以使用和复制的代码。
fetch(…)
看起来不错,因此我建议您查看URL和输出格式,以了解是否存在漏洞

注意,我已经删除了所有范围声明以及多行字符串格式(倒勾)。您可以根据需要随意添加它们

<html>
<body>
<p id="results-list">Please wait...</p>
<script>
function showResults(json) {
    var element = document.getElementById('results-list');
    element.innerHTML = '';
    var html = '';
    for (var i = 0; i < json.data.length; i++) {
        var park = json.data[i];
        html += '<li><h3>' + park.name + '</h3>' +
            '<p>Description: ' + park.description + '</p>' +
            '<p>Link: <a href="' + park.url + '">' + park.url + '</a></p>' +
            '<p>Address: ' + park.directionInfo + '</p>' +
            '</li>';
    }
    element.innerHTML = html;
}

function fetchPark() {
    var url = 'https://developer.nps.gov/api/v1/parks?parkCode=acad&api_key=SECRET_YOU_CAN_GET_ONE_AT https://www.nps.gov/subjects/developer/get-started.htm';

    fetch(url)
    .then(response => {
        if (response.ok) return response.json();
    })
    .then(json => showResults(json))
    .catch(err => { console.error(err); });
}

fetchPark();
</script>
</body>
</html>

请稍候

函数showResults(json){ var元素=document.getElementById('results-list'); element.innerHTML=''; var html=''; for(var i=0;i”+ “链接:

”+ “地址:”+park.directionInfo+“

”+ “”; } element.innerHTML=html; } 函数fetchPark(){ var url='1〕https://developer.nps.gov/api/v1/parks?parkCode=acad&api_key=SECRET_YOU_CAN_GET_ONE_AT https://www.nps.gov/subjects/developer/get-started.htm'; 获取(url) 。然后(响应=>{ if(response.ok)返回response.json(); }) 。然后(json=>showResults(json)) .catch(err=>{console.error(err);}); } fetchPark();
输出为:

阿卡迪亚 描述:阿卡迪亚国家公园保护着世界上最高的自然美景 沿着美国大西洋海岸线的岩石岬角 拥有高度生物多样性、清洁的空气和水以及丰富的文化资源的栖息地 遗产每年,超过330万人探索上述七座山峰 1000英尺,158英里的远足小径,45英里的运输道路,16英尺 石桥

链接:

地址:未定义


此外,还要注意代理或防病毒等奇怪的东西。当没有得到预期的响应时,应该排除任何可以拦截HTTP流量的行为。

此代码工作正常。我已经将代码简化为其他人可以使用和复制的代码。
fetch(…)
看起来不错,因此我建议您查看URL和输出格式,以了解是否存在漏洞

注意,我已经删除了所有范围声明以及多行字符串格式(倒勾)。您可以根据需要随意添加它们

<html>
<body>
<p id="results-list">Please wait...</p>
<script>
function showResults(json) {
    var element = document.getElementById('results-list');
    element.innerHTML = '';
    var html = '';
    for (var i = 0; i < json.data.length; i++) {
        var park = json.data[i];
        html += '<li><h3>' + park.name + '</h3>' +
            '<p>Description: ' + park.description + '</p>' +
            '<p>Link: <a href="' + park.url + '">' + park.url + '</a></p>' +
            '<p>Address: ' + park.directionInfo + '</p>' +
            '</li>';
    }
    element.innerHTML = html;
}

function fetchPark() {
    var url = 'https://developer.nps.gov/api/v1/parks?parkCode=acad&api_key=SECRET_YOU_CAN_GET_ONE_AT https://www.nps.gov/subjects/developer/get-started.htm';

    fetch(url)
    .then(response => {
        if (response.ok) return response.json();
    })
    .then(json => showResults(json))
    .catch(err => { console.error(err); });
}

fetchPark();
</script>
</body>
</html>

请稍候

函数showResults(json){ var元素=document.getElementById('results-list'); element.innerHTML=''; var html=''; for(var i=0;i”+ “链接:

”+ “地址:”+park.directionInfo+“

”+ “”; } element.innerHTML=html; } 函数fetchPark(){ var url='1〕https://developer.nps.gov/api/v1/parks?parkCode=acad&api_key=SECRET_YOU_CAN_GET_ONE_AT https://www.nps.gov/subjects/developer/get-started.htm'; 获取(url) 。然后(响应=>{ if(response.ok)返回response.json(); }) 。然后(json=>showResults(json)) .catch(err=>{console.error(err);}); } fetchPark();
输出为:

阿卡迪亚 描述:阿卡迪亚国家公园保护着世界上最高的自然美景 沿着美国大西洋海岸线的岩石岬角 拥有高度生物多样性、清洁的空气和水以及丰富的文化资源的栖息地 遗产每年,超过330万人探索上述七座山峰 1000英尺,158英里的远足小径,45英里的运输道路,16英尺 石桥

链接:

地址:未定义


此外,还要注意代理或防病毒等奇怪的东西。当没有收到预期的响应时,应该排除任何可以拦截HTTP流量的内容。

您是否检查了原始响应数据和showResults函数?不确定response.json是什么。它显示的是200代码。我将添加showResults函数的更多代码将名为params的参数更改为另一个名称,因为它与关键字重复。是否看到
ugh
日志消息?