我认为您需要做的是将数据从对象转换为JSON参数,而不是JSON字符串。
默认情况下,$ http服务将通过将数据序列化为JSON然后使用内容类型“ application / json”将其发布来转换外发请求。当我们想将值作为FORM发布时,我们需要更改序列化算法并使用内容类型“ application / x-www- form-urlencoded”发布数据。
这里的例子。
$http({
method: 'POST',
url: url,
headers: {'Content-Type': 'application/x-www-form-urlencoded'},
transformRequest: function(obj) {
var str = [];
for(var p in obj)
str.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p]));
return str.join("&");
},
data: {username: $scope.userName, password: $scope.password}
}).then(function () {});