doupo6967
doupo6967
2017-08-06 20:03

Angular $ http post call将数据发布传递到GO后端

I am trying to get access to backend written in GO which in 99% is good (problem does not lay there).

For now I just created simplest call which stay in controller (it will be in service in future) to register new user. Although I hardcoded data which I am passing the response says 403 forbidden. In powerShell shows reason of 403:

RegistrationForm parse - email: , nick:

Validation failed for email - blank

It looks like I am not passing my data correctly because email is blank. Please take a look at my code:

$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);
    })

};

This screenshot presents API documentation which I am trying to access:

link

What am I doing wrong? Is there other way to pass data?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

1条回答

  • doufu8887 doufu8887 4年前

    You are sending some json data with the wrong Content-Type. I see 2 options, either change Content-Type in your header to:

    'Content-type' : 'application/json'

    or transform your payload to:

    data: "email=check@onet.pl&nick=borysxoxo&password=admin12312&password_confirmation=admin12312"
    
    点赞 评论 复制链接分享

为你推荐