我已经在glitch.me上创建了一个服务器,我试图从该服务器提供数据,但是出现以下错误。 localhost /:1已被CORS策略阻止从原点“ https://clem-quote-server.glitch.me/quotes”到“ http://localhost:3000”的获取:
请求的请求上没有'Access-Control-Allow-Origin'标头 资源。如果不透明的响应满足您的需求,请设置请求的 模式设置为“ no-cors”,以在禁用CORS的情况下获取资源。
不太确定如何解决此问题
import React, {Component} from "react"
class quotes extends Component {
constructor(props) {
super(props);
this.state = {
error: null,
isLoaded: false,
quotes: quotes
};
}
componentDidMount() {
fetch("https://clem-quote-server.glitch.me/quotes")
.then(res => res.json())
.then(
(result) => {
this.setState({
isLoaded: true,
quotes: result.quotes
});
},
error => {
this.setState({
isLoaded: true,
error
});
}
);
}
render() {
const { error, isLoaded, quotes } = this.state;
if (error) {
return <div>Error: {error.message}</div>;
} else if (!isLoaded) {
return <div>Loading...</div>;
} else {
return (
<ul>
{quotes.map(quote => {
return quote;
}
)}
</ul>
);
}
}
}
export default quotes;
我希望每次页面加载时都能从数组列表中显示一个对象
答案 0 :(得分:0)
由于CORS失败,当服务器和客户端处理不同的域时必须包含CORS。
CORS包含在标题中。
这是您在react应用中启用corse的方法:
https://facebook.github.io/create-react-app/docs/proxying-api-requests-in-development
CORS信息: