我在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: ''
});
};
答案 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","*");