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

IT技术 reactjs redux axios
2021-04-28 21:00:11

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

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个回答

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

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

这导致 api 不理解 name 字段,因为我提供了电子邮件作为 api 中的键。

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

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

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