为什么我的Rails jQuery POST请求出现401错误?

时间:2015-05-25 15:24:26

标签: javascript jquery ruby-on-rails devise

我在rails应用程序中使用设计。我可以使用这个curl命令登录我的rails服务器(设计):

itertools.imap(model_and_row, reader)

输出就像:

curl -v -H 'Content-Type: application/json' -H 'Accept: application/json' -X POST http://localhost:3000/api/v1/sessions -d "{\"user\":{\"email\":\"mrezaurrahman@sample.com\",\"password\":\"3213421\"}}"

现在我需要使用javascript访问我的服务器。这是我的jquery代码:

 {"success":true,"info":"Logged in :) ","data":{"authentication_token":"8JySqFVx_pKx_3nx67AJ"}}

但现在我收到了以下错误:

var invitation_creation = {
                      "email": "mrezaurrahman@sample.com",
                      "password": "3213421"
                    }

              $.ajax({
                url: "http://localhost:3000/api/v1/sessions.json",
                type: "POST",
                beforeSend: function(xhr) {xhr.setRequestHeader('X-CSRF-Token', $("meta[name='csrf-token']").attr("content"))},  
                        contentType: "application/json; charset=utf-8",
                        dataType: "json",
                        data: JSON.stringify(invitation_creation),
                        success: function(){ console.log("success")}

                    });

我的用户已收到电子邮件“mrezaurrahman@sample.com”和密码“3213421”。 我可以使用curl登录,但我无法使用我的javascript代码。

如何使用javascript登录此系统?

2 个答案:

答案 0 :(得分:2)

请你试试这个:

var invitation_creation = { "user": {
                      "email": "mrezaurrahman@sample.com",
                      "password": "3213421"
                    }}

而不是

var invitation_creation = {
                      "email": "mrezaurrahman@sample.com",
                      "password": "3213421"
                    }

答案 1 :(得分:2)

我遇到了JSON创建问题。 invitation_creation JSON声明行就像,

var invitation_creation =  {"user":{"email":"mrezaurrahman@live.com","password":"28902890"}};