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

时间:2017-08-06 20:03:15

标签: angularjs http post go call

我正在尝试访问使用GO编写的后端,其中99%是好的(问题不在那里)。

现在我刚刚创建了一个最简单的调用,它将保留在控制器中(将来会在服务中)注册新用户。虽然我硬编码了我传递的数据但响应说403禁止。在powerShell中显示403的原因:

  

RegistrationForm parse - email :, nick:

     

电子邮件验证失败 - 空白

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

$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

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

1 个答案:

答案 0 :(得分:0)

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

'Content-type' : 'application/json'

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

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