在响应componentWillRecieveProps中调用POST请求

时间:2017-08-06 23:44:04

标签: javascript ajax reactjs axios

我试图在反应生命周期方法中提交POST请求以保存到我的数据库。

我的componentWillReceiveProps看起来像这样:

// Update location when user logs in
  componentWillReceiveProps(nextProps) {
    if (this.props.user.username !== nextProps.user.username) {
      if( navigator && navigator.geolocation ) {
        navigator.geolocation.getCurrentPosition((pos) => {
          const { latitude, longitude } = pos.coords;
          this.setState({
            currentLocation: { lat: latitude, lng: longitude }
          });
          // save location...
          this.saveLocation(latitude, longitude);
        });
      }
    }
  }



  // Save to Database
  saveLocation(lat, lng) {
    console.log('saving.....');
    axios.post('/location', { lat, lng })
      .then((response) => {
        console.log("saved");
      }).catch((error) => {
        console.log('not saved', error);
      });
  }

上面的帖子请求将拒绝连接到我的服务器。奇怪的是我能够在componentDidMount中运行saveLocation,并且当通过curl进行POST时,相同的post请求将起作用。在使用ajax并做出反应时,我是否遗漏了一些必要的内容。任何建议将不胜感激。

0 个答案:

没有答案