我试图在反应生命周期方法中提交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并做出反应时,我是否遗漏了一些必要的内容。任何建议将不胜感激。