无法使用axios成功发布帖子

时间:2019-06-05 23:40:47

标签: reactjs axios

我正在尝试向我的mongo数据库发送一些数据。我可以在Postman内部发表成功的文章。但是,当涉及到axios时,它将无法正常工作。 有人可以告诉我为什么吗? 请注意,我已经在我的packagejson中的代理中添加了本地主机地址。因此,将使用完整地址。 但我总会得到一个未找到的404。

class App extends Component {
  constructor(props) {
    super(props)

    this.state = {
      value: ''
    }
  }

  onChange = (e) => {
    e.preventDefault()
    this.setState({ value: e.target.value })
  }

  onSubmit = (e) => {
    e.preventDefault()
    console.log(this.state.value)
    this.postToMongoDB()
    this.setState({ value: '' })
  }

  postToMongoDB = () => {
    const newUser = {
      room: 'general',
      username: this.state.value,
      message: 'Why cant I send this?'
    }

    axios
      .post('/members/message', newUser)
      .then(res => console.log(res))
      .catch(err => console.log(err))
    }

    render() {
      return (
        <div className="App">
          <h1>Hello</h1>
          <form onSubmit={this.onSubmit}>
          <input type="text" value={this.state.value} onChange= 
            {this.onChange} />
          </form>
        </div>
      )
    }
}

enter image description here

enter image description here

有人说我的后端应该有与我的前端反应相同的端口。 但是,如果我这样做,就会发生这种情况。

enter image description here

enter image description here

2 个答案:

答案 0 :(得分:1)

mediaposttype[]

您创建一个实例,并在axios提取中使用该实例。

const instance = axios.create({
  baseURL: 'http://localhost:3000', // maybe you wanna store this in env file for different environment
});

export default instance

答案 1 :(得分:-1)

我可以使用它,我所做的就是在我手动更改package.json代理后重新启动React服务器,现在它可以工作了。好像您在package.json中进行更改一样,它不会自动更新,就像在所有其他实例中一样。