ReactJS - 从URL获取json对象数据

Was*_*and 7 json reactjs

如何从URL获取数据到ReactJS.

该网址具有以下类型:http: //www.domain.com/api/json/x/a/search.php?s = category

如果在浏览器中键入,将显示一个json对象.

如何将其加载到ReactJS.

首先,我开始:

const dUrl = "http://www.the....";

console.log(dUrl);
Run Code Online (Sandbox Code Playgroud)

但显然它显示的是url而不是内容(我将能够过滤 - 这只是将它加载到我不知道的对象的这个初始步骤)

编辑:我宁愿不使用jQuery.

Hyl*_*lle 34

尝试使用Fetch API,它是Facebook推荐的.你应该避免在jQuery中使用ReactJS,并坚持使用ReactJS操作DOM的方法.

function getMoviesFromApiAsync() {
   return fetch('https://facebook.github.io/react-native/movies.json')
   .then((response) => response.json())
   .then((responseJson) => {
     return responseJson.movies;
   })
   .catch((error) => {
     console.error(error);
   });
}
Run Code Online (Sandbox Code Playgroud)

或者使用async/await

async function getMoviesFromApi() {
  try {
    let response = await fetch('https://facebook.github.io/react-native/movies.json');
    let responseJson = await response.json();
    return responseJson.movies;
   } catch(error) {
    console.error(error);
  }
}
Run Code Online (Sandbox Code Playgroud)

https://facebook.github.io/react-native/docs/network.html

我知道URL是React Native的文档,但这也适用于ReactJS.


San*_*h K 14

编辑:使用 fetch 进行 API 调用。

fetch(http://www.example.com/api/json/x/a/search.php?s=category)
  .then(response => response.json())
  .then((jsonData) => {
    // jsonData is parsed json object received from url
    console.log(jsonData)
  })
  .catch((error) => {
    // handle your errors here
    console.error(error)
  })
Run Code Online (Sandbox Code Playgroud)

Fetch 适用于所有现代浏览器。

  • 谢谢。我忘了补充 - 我宁愿不使用 jQuery。我在谷歌上搜索的大多数示例都提供了 jquery 的解决方案。我想要一个标准的 JS。 (4认同)
  • 投反对票是因为将 jQuery 添加回基于 React 的世界通常被认为是一种倒退。这不是一个规范的答案。考虑更新以反映广泛认可的解决方案。 (4认同)