<div className={classes.SportsEditTabContentFooter}>
<div>Sports Status</div>
<div>
<Button variant="outlined" className={classes.button}>
Cancel
</Button>
<Button variant="outlined" onClick={this.saveSports} className={classes.button}>
Save Sports test
</Button>
</div>
</div>
saveSports = () => {
console.log("saveSports---->");
console.log(this.state.Sports);
let saveSports = this.state.Sports;
saveSports.updatedBy = 'raj';
saveSports.priceRuleDescription = "test description";
axios
.put(
'http://t/Sports/' + saveSports.SportsID,
saveSports,
{ headers: { 'Content-Type': 'application/json' } }
)
.then(r => console.log(r))
.catch(e => console.log(e));
//this.toggleDrawer("right", false);
this.setState({ right: false });
this.setState({ snackBarOpen: true });
setTimeout(() => {
this.setState({ snackBarOpen: false });
}, 6000)
};
答案 0 :(得分:0)
由于CORS,由于您尝试通信其他域,浏览器会自动发送OPTIONS请求。后端不希望这样做,因此无论出于何种原因它都会返回403。
请记住您的需求
每个变体足以解决您的问题。但是由您自己决定哪种情况更方便
PS,以防万一:没有,无法避免通过配置axios,用不同的软件包,fetch()
调用或本机XmlHttpRequest
替换axios或其他任何简单更改来避免发送预检OPTIONS请求在您的客户端代码中,因为它是现代Web浏览器的基本(安全!)功能