【发布时间】:2021-03-08 00:38:23
【问题描述】:
我是 React 的新手。我正在创建一个小型 CRUD 应用程序。我有一个所有用户的列表。为此,我有一个在邮递员上运行良好的 API,但是当我在我的 react 应用程序中使用该 API 时出现问题。 这是我得到的错误
Access to XMLHttpRequest at 'http://dummy.restapiexample.com/api/v1/employees' from origin 'http://localhost:3000' has been blocked by CORS policy: Request header field access-control-allow-origin is not allowed by Access-Control-Allow-Headers in preflight response.
但如果我将 Url 从http://dummy.restapiexample.com/api/v1/employees 更改为https://jsonplaceholder.typicode.com/albums,则可以正常工作。
这是我的代码。
constructor(props) {
super(props);
this.state = {
items: [],
isLoaded: false
}
}
componentDidMount() {
// const token = 'pt7_VZpxd6jOooNILFwO1qEc5lzLifeN';
let webApiUrl = 'http://dummy.restapiexample.com/api/v1/employees';
// let webApiUrl = 'https://jsonplaceholder.typicode.com/albums';
axios.get(webApiUrl, {
method: "GET",
mode: "no-cors",
headers: {
"Content-Type": "application/json",
// "Authorization": "Bearer " + token,
"Access-Control-Allow-Methods": "GET",
"Access-Control-Allow-Origin": "*",
},
})
.then( res => {
this.setState({ isLoaded: true, items: res.data})
})
}
我已经关注了这些链接No 'Access-Control-Allow-Origin' header is present on the requested resource—when trying to get data from a REST API , Access to XMLHttpRequest has been bloked by CORS policy 但仍然坚持这个问题。如何解决这个问题。任何帮助将不胜感激。
【问题讨论】:
-
CROS 策略错误是基于后端的。您向其发出请求的服务器,您需要允许对其进行 ping 操作。如果后端在 node.js 中,请使用 NPM CROS Package
标签: javascript cors