AngularJs $http.post -> 错误:意外请求 POST ;预计不会再有请求



我在这里收到了一个工作卷曲请求:

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' }
})

最新更新