我在这里得到了一份工作卷曲请求:
curl -u testclient:testpass http://mybackend.somedomain.com/token.php -d 'grant_type=client_credentials'
现在我尝试将其转换为我的angularJs(ionicframework)前端。 (php-backend在不同的服务器上,所以这可能与CORS有关,虽然我不知道如何)
在我的前端,我尝试:
var username = 'testclient';
var password = 'testpass';
var url = 'http://mybackend.somedomain.com/token.php';
var request = $http({
method: "post",
url: url,
data: {
username: username,
password: password
},
headers: { 'Content-Type': 'application/x-www-form-urlencoded' }
});
这导致一些奇怪的事情,POST请求没有被执行,但我收到了错误消息:
Error: Unexpected request: POST http://mybackend.somedomain.com/token.php No more request expected
我在这里做错了什么?
答案 0 :(得分:-1)
您的Angular POST
中存在错误,您的数据被编码为JSON,而不是您在标题application/x-www-form-urlencoded
中声明的数据。首先,您应该将代码更改为以下内容。
$http({
method: 'POST',
url: url,
data: $.param({
username: username,
password: password
}),
headers: { 'Content-Type': 'application/x-www-form-urlencoded' }
})