ruby-on-rails 如何通过React JS使用fetch从Rails API中获取头部?

b91juud3  于 2023-08-08  发布在  Ruby
关注(0)|答案(1)|浏览(144)

我正在整理一个需要登录的个人项目。
该项目在react js和rails API中。
登录我正在使用design。
默认情况下,当您登录时,它返回access-token和client。
但我无法在React中访问这些令牌。

  1. const url = `${process.env.REACT_APP_API_URL}/auth/sign_in`;
  2. const requestOptions = {
  3. method: 'POST',
  4. headers: { 'Content-Type': 'application/json' },
  5. body: JSON.stringify(form)
  6. };
  7. const res = await fetch(url, requestOptions).then(res => res.json());
  8. if(res.errors){
  9. for(let i = 0; i<res.errors.length; i++){
  10. setFormErrors(form_errors => [...form_errors, res.errors[i]]);
  11. }
  12. }else{
  13. console.log(res);
  14. // window.location.replace('http://localhost:3002/');
  15. }

字符串
我需要它们在未来的请求服务器中使用。
我完全不知道该怎么办。
我不知道是否有办法访问头中的这些令牌。
或者突然间我可以改变设备以身体React发送这些数据。
哪一个是最好的选择?
帮帮我,谢谢

krcsximq

krcsximq1#

我找到了解决办法。我不知道这是不是最好的解决方法,但现在解决了我的问题。
我在config/application.rb中添加该代码

  1. config.middleware.insert_before 0, Rack::Cors do
  2. allow do
  3. origins 'localhost:3002'
  4. resource "*",
  5. :headers => :any,
  6. :expose => [
  7. "client",
  8. "access-token"],
  9. :methods => [:get, :post, :options, :delete, :put, :head]
  10. end
  11. end

字符串
伙计,所以...这解决了我的问题,但就像我说的,我不知道这是不是最好的方法。
如果有人能解释正确的方式,请描述。
拥抱大家

展开查看全部

相关问题