问题描述
我正在使用角度factory
和service
发布一些数据
return service({cli: cli, customerType: appointmentType}).amend_customer({
name: data.name,
surname: data.surname,
address: data.address,
postcode: data.postcode,
city: data.city
}).$promise;
我想将此数据作为字符串而不是对象发布,任何想法如何实现。
我知道$query.params
和JSON.stringify(data)
将转换为字符串,但是我需要像这样返回service
。
API返回400-如果数据为字符串格式,则请求错误-会很高兴,我已经通过字符串格式进行了测试,并且可以正常工作
1楼
您可以这样布置服务:
angular.module('app').factory("DataService",
function($http) {
return {
update: function(data) {
return $http({
url: '/route',
method: "POST",
data: JSON.stringify({
name: data.name,
surname: data.surname,
address: data.address,
postcode: data.postcode,
city: data.city
}),
headers: {
'Content-Type': 'application/json'
}
}).success(function(data, status, headers, config) {
console.log("Success!");
//Do something with your data here.
}).error(function(data, status, headers, config) {
console.log("Error.");
});
}
}
}
);
然后,无论您在代码中的哪个位置使用服务,都可以调用:
DataService.update(data);
这仍然会返回您所需的承诺,只是采用更标准的角度格式。 另外,只要您注入服务,便可以在任何模块中访问它。