从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

回到顶部