我使用的是rails 5.2和Ruby 2.7,我的前端是react,我尝试访问我的项目路径,登录/注销由rails app/semi-api处理(它具有除项目页面之外的其他内容的视图,**我知道我需要一个令牌来通过认证检查,但是我似乎找不到任何关于如何从Rails获取令牌的帮助。**我的Rails应用使用Devise进行身份验证,使用Pundit进行授权。
从react应用发送GET请求(使用axios)会立即重定向rails应用以呈现登录页面(在未经授权登录的情况下应该如此)。Snippet of the error in question
const API_URL = 'http://localhost:3000/projects'
function getAPIData(){
return axios.get(API_URL).then((response) => response.data)
}
function App() {
const [bugs, setBugs] = useState([]);
useEffect(() => {
let mounted = true;
getAPIData().then((items) => {
if (mounted) {
setBugs(items);
}
});
return () => (mounted= false);
}, [])
return (<Router>
<Header title='Backend'/>
<BugList bugs={bugs}/>
<Footer/>
</Router>
);
}
export default App;
上面是我获取数据的axios例程,React运行在4000端口,rails应用程序(使用rack-cors和通配符(*)表达式来接受所有类型的请求)运行在3000端口。
1条答案
按热度按时间50few1ms1#