正确使用React Native的fetch

时间:2018-03-24 20:57:30

标签: javascript json reactjs react-native fetch

我正在尝试从USDA数据库中检索信息。我正在尝试使用此URL发出JSON请求:

  

https://api.nal.usda.gov/ndb/search/?format=json&q=butter&fg=Dairy%20and%20Egg%20Products&max=25&offset=0&sort=r&api_key=DEMO_KEY

如果我只是获取该链接,那么我会收到我预期的JSON响应。

fetch('https://api.nal.usda.gov/ndb/search/?format=json&q=butter&fg=Dairy%20and%20Egg%20Products&max=25&offset=0&sort=r&api_key=DEMO_KEY')
    .then((responseData) => {
        console.log(responseData);
    }).catch((error) => {
        console.log("error : " +error);
    });

但是,我希望将其分解为JSON格式,因此我尝试按以下方式获取它:

fetch('https://api.nal.usda.gov/ndb/search/', {
        method: 'POST',
        headers: { 'Accept': 'application/json','Content-Type': 'application/json',},
        body: JSON.stringify({
          "format": "json",
          "q": "butter",
          "max": "25",
          "offset": "0",
          "sort": "r",
          "api_key": "MXWwB8DMBxbCIlFHfSevDtp0cIvOofA6Xsn16BYj"  
        })
    }).then((response) => response.json())
    .then((responseData) => {
        console.log(responseData);
    }).catch((error) => {
        console.log("error : " +error);
    });

然而,这会返回一个错误,我错过了我的API_KEY。你能否告诉我API_KEY没有经历的错误。

更新了尝试(不使用POST方法):

fetch('https://api.nal.usda.gov/ndb/search/', {
          "format": "json",
          "q": "butter",
          "max": "25",
          "offset": "0",
          "sort": "r",
          "api_key": "DEMO_KEY"
        }
    ).then((response) => response.json())
    .then((responseData) => {
        console.log(responseData);
    }).catch((error) => {
        console.log("error : " +error);
    });
  }

0 个答案:

没有答案