我正在尝试访问用 GO 编写的后端,这在 99% 中是好的(问题不在于此)。
现在我只是创建了最简单的调用,它留在 Controller 中(将来会投入使用)来注册新用户。尽管我对传递的数据进行了硬编码,但响应显示 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 文档:
我做错了什么?还有其他方式传递数据吗?
最佳答案
您正在发送一些 Content-Type
错误的 json 数据。
我看到 2 个选项,要么将 header 中的 Content-Type
更改为:
'Content-type' : 'application/json'
或将您的有效负载转换为:
data: "email=check@onet.pl&nick=borysxoxo&password=admin12312&password_confirmation=admin12312"
关于angularjs - Angular $http post 调用将数据问题传递给 GO 后端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45536116/