AngularJs $ http.post - >错误:意外请求POST;没有更多的要求

时间:2015-02-17 13:09:40

标签: angularjs curl xmlhttprequest

我在这里得到了一份工作卷曲请求:

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

我在这里做错了什么?

1 个答案:

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