2016-11-17 20 views
0

我是角度js的初學者。我正在用angularjs試驗$ http服務。我正在訪問Web服務。它在ubuntu中使用curl語句時返回預期的響應,但當curl中的參數映射到$ http.post()參數時不成功。請看我的代碼curl和angularjs頁面。請指出我的錯誤並幫助我解決問題。

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

結果:

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

Angularjs代碼

<!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> 

回答

1

您內容類型設置爲正確的值,但是你不告訴角度使用不同的串行比默認一個,所以它仍然以JSON格式發送它。

使用$httpParamSerializerJQLike,或簡單地發送數據作爲一個字符串:

data: '[email protected]'