Angular $http post 调用传递数据问题到 GO 后端

Angular $http post call passing data issue to GO backend

我正在尝试访问用 GO 编写的后端,这在 99% 中是好的(问题不在于此)。

现在我只是创建了最简单的调用,它留在控制器中(将来会投入使用)来注册新用户。尽管我对传递的数据进行了硬编码,但响应显示 403 禁止。在 powerShell 中显示 403 的原因:

RegistrationForm parse - email: , nick:

Validation failed for email - blank

我似乎没有正确传递我的数据,因为电子邮件是空白的。请看看我的代码:

$ctrl.fake_registerSubmit = function() {

    $http({
        url: 'http://localhost:3000/v1/sign_up',
        headers: {
           'Content-Type': 'application/x-www-form-urlencoded'
         },
        method: 'POST',
        data: {
            email: 'check@onet.pl',
            nick: 'borysxoxo',
            password: 'admin12312',
            password_confirmation: 'admin12312'
        }
    })

    .then(function successCall(response, post) {
        console.log('user added');

    }, function errorCall(respone) {
        console.log('error callback');
        console.log(respone);
    })

};

此屏幕截图显示了我正在尝试访问的 API 文档:

link

我做错了什么?还有其他方式传递数据吗?

您正在发送一些 json 错误的数据 Content-Type。 我看到 2 个选项,要么将 header 中的 Content-Type 更改为:

'Content-type' : 'application/json'

或将您的有效负载转换为:

data: "email=check@onet.pl&nick=borysxoxo&password=admin12312&password_confirmation=admin12312"