获取400错误使用axios的错误请求

时间:2017-06-23 23:46:01

标签: reactjs redux axios

我正在使用axios并收到400错误请求错误。我正在使用react-redux并尝试向localhost发送帖子请求:3000 /帖子。这是我正在使用的代码。

import axios from 'axios';
import {
  GET_ALL_POSTS,
  GET_POST,
  CREATE_POST,
  DELETE_POST,
  UPDATE_POST
} from './types';

const ROOT_URL = 'http://localhost:3000';

export function createPost({content, title}, cb) {
  return function(dispatch) {
    axios.post(`${ROOT_URL}/posts`, {content, title})
      .then((response) => {
        console.log(response);
        dispatch({
          type: CREATE_POST,
          payload: response
        });
      })
      .then(() => cb())
      .catch((error) => {
        console.log("Problem submitting New Post", error);
      });
  }
}

2 个答案:

答案 0 :(得分:1)

对于每个发布请求,客户端首先发送一个OPTIONS请求,以检查服务器是否准备好接受连接。您还应该允许服务器接受选项请求。如果不允许,请在节点服务器的情况下使用以下行

app.use(function(req, res, next) {
   res.header('Access-Control-Allow-Methods', 'POST, GET, OPTIONS');
      next();
});

答案 1 :(得分:-1)

我也遇到此错误,问题不在于服务器,axios或代理url。 问题是我没有从我的React应用程序发送正确的数据。 例如 我应该发送: { email: 'ib2@gmail.com', password: 'asdf' }

我发送的是: { name: 'ib2@gmail.com', password: 'asdf' }

这导致api无法理解名称字段,因为我在api中提供了电子邮件作为密钥。

因此,如果您仍然遇到问题,请尝试检查发送的数据是否正确。