Como POSTAR os dados do formulário codificado em url com $ http sem jQuery?

Eu sou novo no AngularJS e, para começar, pensei em desenvolver um novo aplicativo usando apenas o AngularJS.

Estou tentando fazer uma chamada AJAX para o lado do servidor, usando$http do meu aplicativo angular.

Para enviar os parâmetros, tentei o seguinte:

$http({
    method: "post",
    url: URL,
    headers: {'Content-Type': 'application/x-www-form-urlencoded'},
    data: $.param({username: $scope.userName, password: $scope.password})
}).success(function(result){
    console.log(result);
});

Isso está funcionando, mas também está usando o jQuery em$.param. Para remover a dependência do jQuery, tentei:

data: {username: $scope.userName, password: $scope.password}

mas isso pareceu falhar. Então eu tenteiparams:

params: {username: $scope.userName, password: $scope.password}

mas isso também pareceu falhar. Então eu tenteiJSON.stringify:

data: JSON.stringify({username: $scope.userName, password: $scope.password})

Encontrei essas respostas possíveis para minha busca, mas não obtive êxito. Estou fazendo algo errado? Tenho certeza de que o AngularJS forneceria essa funcionalidade, mas como?

questionAnswers(11)

yourAnswerToTheQuestion