You can post data as form data instead of a request payload for that the below-mentioned line needed to be added to the $http object that is passed:
headers: {'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'}
And the data that is being passed should be converted to a URL-encoded string by the following way:-
> $.param({fkey: "key"})
'fkey=key'
So at the whole, you need to do as follows:-
$http({
method: 'POST',
url: url,
data: $.param({fkey: "key"}),
headers: {'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'}
})