在“获取方法”期间更改为具有200状态的选项,并且获取成功

时间:2018-12-12 13:33:49

标签: reactjs http fetch protocols fetch-api

我在React中使用Fetch遇到问题,我正在使用此代码,我应该恢复此状态 http://docs.recruitment-api.pyt1.stg.jmr.pl/# 但是我收到 成功:{“ message”:“所请求的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: ''
});

};

2 个答案:

答案 0 :(得分:0)

您的react / fetch代码没有错。 您绕过了CORS,但.pyt1.stg.jmr.pl上的api可能理解了它,并通过{“ message”:“”返回请求的URL不允许的方法“返回响应。”}

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

答案 1 :(得分:0)

在后端微服务中,添加标头以允许方法。

Allow-Control-Access-Methods,"*"

例如:在NodeJ中。

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