从Angular $ http POST传递数据数组
我需要将对象的数组从Angular应用程序传递到具有Nancy框架的.Net Web服务。
我尝试了这个:
function TestCtrl($scope, $http){ $scope.postTest = function(){
var data = [obj1, obj2, obj3];
$http({
url: 'myURL',
method: "POST",
data: data,
headers: {
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
}
}).success(function(data){
alert("done");
});
}
}
但是服务器发送500 Internal server error。
我不知道为什么它不起作用。我不是Web服务专家,但是我认为这是一个序列化问题。
有人能帮我吗?
回答:
这是关于序列化的。Angular不会自动为您序列化数据,您需要在发送数据之前解析数据:
...$http({
url: 'myURL',
method: "POST",
data: $.param(data),
headers: {
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
}
})...
如果您不使用jQuery,则需要自己滚动$.parse
。这里有一个摘要或者您可以改编jQuery实现。
以上是 从Angular $ http POST传递数据数组 的全部内容, 来源链接: utcz.com/qa/424768.html