user2588242
user2588242

Reputation: 21

Mapping curl statement to $http.post

I am a beginner in angular js. I am experimenting with $http service in angularjs. I am accessing a web service. It returns expected response when using curl statement in ubuntu but is not succeeding when the parameter in curl is mapped to $http.post() parameter. Please take a look at my code for both curl and angularjs page. Please point me out my mistake and help me to resolve the issue.

curl --data "[email protected]" HTTP://dummy.dummyplane.com/dummyservices/UserExists

Result:

{"Data":"123456","Success":true,"Exception":null}

Angularjs code

<!DOCTYPE html>
<html lang="en">
<head>
    <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.3/angular.min.js"></script>
</head>

<body ng-app="myapp">
<div ng-controller="registerController">
    <button ng-click='Register()' style='margin-top:15px'>Register</button>
</div>
<script type="text/javascript">

var app = angular.module('myapp', []);
app.controller('registerController', function($scope, $http) {

 $scope.Register = function() {
     $http({
        url:'http://tethys.dev.riekerinc.com/totalsolutions/UserExists/',
        method:'POST',
        data:{"email":"[email protected]"},
        headers:{'Content-Type':'application/x-www-form-urlencoded'}
    }).success(function(data){
        //console.log(data)
        alert("Success");
    });

};
  });

  </script>

</body>
</html>

Upvotes: 0

Views: 353

Answers (1)

JB Nizet
JB Nizet

Reputation: 691785

You set the content type to the correct value, but you don't tell angular to use a different serializer than the default one, so it still sends it in JSON format.

Use $httpParamSerializerJQLike, or simply send the data as a string:

data: '[email protected]'

Upvotes: 1

Related Questions