Java脚本获取返回200,但没有数据

时间:2018-09-13 11:42:08

标签: javascript fetch-api

我需要在下拉菜单中显示世界上所有国家。 因此,我找到了这个api端点END POINT LINK。当我将此端点链接复制并粘贴到Web浏览器中时,我得到了包含所有数据的响应。 (国家);

当我尝试将其嵌入到项目中时。

getCountries() {
      try {
       
        fetch(`https://restcountries.eu/rest/v1/all`).then(data =>
          console.log(data)
        );
        
      } catch (error) {
        console.log("HERE ERROR COMES", error);
      }
    }

它确实转到了fetch方法的代码块。但是给我输出 enter image description here

这里没有什么叫做数据。即使我得到了成功的回应。 为什么会发生这种情况?这与cors错误有关吗?

3 个答案:

答案 0 :(得分:4)

您可以按以下方式使用:

let url = 'https://restcountries.eu/rest/v1/all';

fetch(url)
.then(res => res.json())
.then((data) => {
  console.log(data);
})
.catch(err => { throw err });

答案 1 :(得分:1)

这对我有用

function getCountries(){
  fetch("https://api.printful.com/countries ")
  .then((resp) => resp.json()) // Transform the data into json
  .then(function(data) {
     let countries = data.result;
     return countries.map(function(country){
        console.log(country.name);
        //Create your list here
     });
    });
}

答案 2 :(得分:-1)

responce.type'cors'可能意味着跨源请求-它正在阻止它-尝试找到另一个api