在获取方法更改为具有 200 状态和成功获取的选项期间

During Fetch Method changed to Options with 200 status and succes fetch

我在 React 中遇到 Fetch 问题,我正在使用这段代码,我应该会收到此状态 http://docs.recruitment-api.pyt1.stg.jmr.pl/# 但我收到 成功:{"message":"The method is not allowed for the requested URL."} 状态为 200 OK 方法也更改为 OPTIONS http://prntscr.com/lu0lat

submitToApi = e => {
e.preventDefault();
const url =
  'https://cors-anywhere.herokuapp.com/http://recruitment-api.pyt1.stg.jmr.pl/login';
const data = {
  login: this.state.email,
  password: this.state.password
};
fetch(url, {
  method: 'POST',
  body: JSON.stringify(data),
  headers: {
    'Content-Type': 'application/json'
  }
})
  .then(res => res.json())
  .then(response => console.log('Succes: ', JSON.stringify(response)))
  .catch(error => console.error('Error: ', error));
this.setState({
  email: '',
  password: ''
});

};

您的 react/fetch 代码没有任何问题。 您绕过了 CORS,但 .pyt1.stg.jmr.pl 上的 api 可能正在理解它并返回给您 {"message":"The method is not allowed for the requested URL."}

的响应

编辑: 尝试运行 从 NodeJS 获取部分以验证

在您的后端微服务中,添加 header 以允许这些方法。

Allow-Control-Access-Methods,"*"

例如:在 NodeJs 中。

res.headers("Allow-Control-Access-Methods","*");