我将Django与Rest框架和React结合使用,以对此API网址进行调用。
我已经启用了CORS,但是axios请求仍被CORB阻止。
还尝试通过使用以下命令行标志启动Chrome来暂时禁用它:
--disable features=CrossSiteDocumentBlockingAlways,CrossSiteDocumentBlockingIfIsolating
代码如下:
componentDidMount() {
const articleID = this.props.match.params.articleID;
axios.get(`http://127.0.0.1:8000/api/${articleID}`, {
headers: {
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'GET',
'Content-Type': 'application/json',
'X-Content-Type-Options': 'nosniff'
}
}).then(res => {
this.setState({
article: res.data
});
console.log(`http://127.0.0.1:8000/api/${articleID}`);
//console.log(res.data);
});
}
这是错误
警告:跨域读取阻止(CORB)阻止了MIME类型为application / json的跨域响应http://127.0.0.1:8000/api/1。
答案 0 :(得分:1)
如何击败CORB并允许javascript通过XHR访问在localhost(127.0.0.1)上运行的本地Web服务器:
Access-Control-Allow-Origin: *
现在应该可以正常工作了。
答案 1 :(得分:0)
已解决:向我的Chrome浏览器添加了Allow-Control-Allow-Origin扩展名和指定的URL模式。例如,localhost:8000 / *和http://127.0.0.1:8000/ *应该可以连接。如果出现CORB错误,除了为我禁用Chrome浏览器安全性外,别无其他方法:(