我需要从AngularJS应用程序发送POST
类似curl -d
命令的请求。
curl http://localhost:80; --data "JSONOBJ"
以下是service
:
Services.factory('Set', ['$resource',
function($resource){
return $resource('http://localhost:80/?value=:JSONOBJ', {}, {
query: {method:'POST'}
});
}]);
和controller
代码:
$scope.pass = function(data) {
var newData = [];
newData.push({
data: [{
"id": data,
"type": "record"]}
});
Set.query({
value: newData
}).$promise.then(function(data) {
//
});
};
但是在发送请求后我从服务器获得404
。我想我没有正确传递数据(卷曲中的-d)。知道如何解决这个问题吗?
答案 0 :(得分:0)
你应该使用的方法是post()而不是query()。 save()函数发出POST请求。您将覆盖用于GET调用而不是POST的query()方法。
您的控制器应如下所示:
Set.save({
ego: ego},{
data: JSON.stringify(editItems)
}).$promise.then(function(result) {
});
请注意,我在保存电话中添加了两个参数
$ Resource服务的非GET操作:资源。([参数],postData,[成功],[错误])
您的服务:
AppServices.factory('Set', ['$resource',
function($resource){
return $resource('http://localhost:7776/');
}]);
注意:强> 对于POST请求,您可能仍然有一个查询字符串参数,但这种情况并不常见,并且与您正在发布的数据没有任何关系。