我在这里收到了一个工作卷曲请求:
curl -u testclient:testpass http://mybackend.somedomain.com/token.php -d 'grant_type=client_credentials'
现在我试着把它翻译成我的angularJs(离子框架)前端。(php后端在不同的服务器上,所以这可能也与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
我在这里做错了什么?
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' }
})