Javascript 函数的作用是:导致资源被CORS阻止
App.js:Javascript 函数的作用是:导致资源被CORS阻止,javascript,reactjs,Javascript,Reactjs,App.js: import React from 'react'; import './App.css'; class App extends React.Component { state = { character : {} }; componentDidMount() { fetch("https://jobs.github.com/positions.json?description=basf") .then(data => cons
import React from 'react';
import './App.css';
class App extends React.Component {
state = {
character : {}
};
componentDidMount() {
fetch("https://jobs.github.com/positions.json?description=basf")
.then(data => console.log(data));
console.log("Hello World");
}
render() {
return (
<div className="App">
<h2>Hello World</h2>
</div>
);
}
}
export default App;
从“React”导入React;
导入“/App.css”;
类应用程序扩展了React.Component{
状态={
字符:{}
};
componentDidMount(){
取回(“https://jobs.github.com/positions.json?description=basf")
.then(data=>console.log(data));
log(“你好世界”);
}
render(){
返回(
你好,世界
);
}
}
导出默认应用程序;
错误消息-
取
"来源"
“”已被CORS策略阻止:否
“Access Control Allow Origin”标头出现在请求的服务器上
资源。如果不透明的响应满足您的需要,请设置请求的
模式设置为“无cors”,以获取禁用cors的资源
无法获取
你能告诉我如何通过这个问题并获得所需的数据吗。我正在使用Github Jobs API并显示此消息。这里有几种方法可以完成此任务 一个
import React from 'react';
import './App.css';
class App extends React.Component {
state = {
character : {}
};
componentDidMount() {
fetch("https://jobs.github.com/positions.json?description=basf",{
headers: {
'Content-Type': 'application/json',
'Access-Control-Allow-Origin': '*'
})
.then(data => console.log(data));
console.log("Hello World");
}
render() {
return (
<div className="App">
<h2>Hello World</h2>
</div>
);
}
}
export default App;
试试这个 如果您面临cors问题,您可以从前端解决此问题。使用-
https://cors-anywhere.herokuapp.com/{在此处键入您的url}
componentDidMount(){
fetch('https://cors-anywhere.herokuapp.com/https://jobs.github.com/positions.json?description=basf'
)
.then(data => data.json())
.then(data=>console.log(data))
}
正在工作您需要使用无cors标题
fetch("https://jobs.github.com/positions.json?description=basf", {
mode: "no-cors" // 'cors' by default
}).then(data => console.log(data));
看看这个
我希望这个答案对您有所帮助:)通过使用CreateReact应用程序代理功能,您可以解决这个问题 将代理属性添加到包中。json:
{
// ...
代理:“https://jobs.github.com"
}
然后调用fetch函数:
fetch(“http://localhost:300/positions.json?description=basf")
.then(data=>console.log(data));
这是否回答了您的问题?你不需要传递凭证才能访问那个API吗?这是可行的,但是使用https://cors-anywhere.herokuapp.com/
?@nibble否。。。您可以使用,因为它在内部实现了保护HTTP调用的安全。由于服务器已关闭,因此现在不可用。
fetch("https://jobs.github.com/positions.json?description=basf", {
mode: "no-cors" // 'cors' by default
}).then(data => console.log(data));