Search code examples
angularjshttppostgocall

Angular $http post call passing data issue to GO backend


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: '[email protected]',
            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?


Solution

  • 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 protected]&nick=borysxoxo&password=admin12312&password_confirmation=admin12312"