React-rails存储POST请求响应

时间:2017-03-24 03:35:27

标签: ruby-on-rails reactjs react-rails

目前我使用Ruby on Rails作为我的后端来为我的应用程序提供API。而我的前端我使用React-rails gem(React.js)来获取/发布数据并生成输出。 API和应用程序都在不同的服务器上。

我的问题是,我无法存储我做出反应的POST请求的响应。我怎么能这样做?我很反应btw。

我现在要做的是当用户想要登录应用程序时,会向API请求POST并获得“auth_token”响应。我想在标题中存储此“au​​th_token”响应并访问仪表板。但我现在卡住了如何存储auth_token ftw。

以下是我的POST数据代码:

var LoginBody = React.createClass(
{
	   handleClick() {
        var username  = this.refs.username.value;
        var password = this.refs.password.value;
        $.ajax({
            url: 'http://localhost:3001/api/v1/users/central/signin?',
            type: 'POST',
            dataType: 'json',
            data: { user_login:{email: username, password:password} },
            success: (data) => {
                 this.setState({auth_token: data.auth_token});
            }.bind(this),
        });
    },
    getInitialState(){
      return {
        auth_token: []
      }
    },

如果有人可以解决我的问题,并告诉我如何在我的应用程序中存储标题,我真的很感激。

1 个答案:

答案 0 :(得分:1)

只需将它们存储在本地存储中,例如:

localStorage.authToken

然后,只要您在将来的请求中需要它们,请阅读:

 function d=EuclidBinary(a,b)
    if a==0
        d=b;
        return ;

    elseif b==0
        d=a;
        return;
    elseif mod(a,2)==0 && mod(b,2)==0
        d=2*EuclidBinary(a/2,b/2);
    elseif mod(a,2)==0 && mod(b,2)==1
             d=EuclidBinary(a/2,b);
         elseif mod(a,2)==1 && mod(b,2)==0
         d=EuclidBinary(a,b/2);
    else
         d=EuclidBinary(fix(abs(a-b)/2),b);




    end