反应+获取请求

时间:2016-10-24 17:35:22

标签: angularjs http reactjs fetch

我正在阅读这篇文章fetch API并尝试了解如何在React中使用fetch。首先,您能解释什么是请求标题

比, 在角度我们做类似的事情:

$http.get('/someword').success(function(response) {
      console.log('i got the data i requested');
      var variable = response;
      }

而且在express中的服务器端我可以写:

var app = express();
app.get('/thissomeword', function(req, res) {
  console.log('I got a GET request')      
  res.json(someVariableWithData)
})

如何使用fetch做同样的事情?主要问题我何时何地需要这样做?我知道我需要在获取数据后才能执行此操作。稍后使用我的数据,但是 HOW 对我来说是个巨大的难题。

2 个答案:

答案 0 :(得分:2)

这里有很棒的facebook文档: https://facebook.github.io/react-native/docs/network.html 用示例显示你想要的东西

请求中的

标头

有时您需要在请求中提供标头以提供访问令牌或内容类型(特别是在POST请求中)

fetch('https://mywebsite.com/endpoint/', {
  method: 'POST',
  headers: {
    'Accept': 'application/json',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    firstParam: 'yourValue',
    secondParam: 'yourOtherValue',
  })
})

承诺而不是回调

在您的示例中,您将回调(reqres)传递给您的fetch then {{}}} {}},以便您作为{{1}的参数获得回复} {或catch中的错误消息。

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

答案 1 :(得分:1)

请求标题

基本上,请求标头由浏览器和应用程序开发人员设置,这用于告诉Web服务器客户端正在发送什么以及它可以接受什么作为回报。

Reference

<强>提取

Fetch用于进行异步网络调用。它基于promises提供更简单的API支持。我会用更少的行来清理你的代码。

Reference