好吧,我很难理解angular.toJson
的用法。我完全理解它改为json对象......
但是,我如何将此obj发送到服务器?
服务器在'GET'
时已经提供了json obj,但是如何将它用于'POST'
和其他人?
答案 0 :(得分:1)
您可以在自己的应用中创建工厂:
var app = angular.module('myApp', []);
app.factory('requestsFactory', ['$http', function ($http) {
return {
postData: function (data) {
var url = // some url to send your data
return $http.post(data, url);
};
};
}];
现在,您可以从控制器发布数据:
app.controller('yourController', ['$scope', 'requestsFactory', function ($scope, requestsFactory) {
...
requestFactory.postData(anyData).success(function (result) {
// if server send any response
}
...
}]);
此外,您可以$http
使用GET
,PUT
,DELETE
个请求。 Click here了解更多信息
答案 1 :(得分:0)
在将数据发布到服务器或使用$http
service从服务器检索数据时,您实际上不需要自己调用angular.toJson()
。
这是Angular为您所做的默认行为。
来自the docs:
Angular提供以下默认转换:
请求转换(
$httpProvider.defaults.transformRequest
和$http.defaults.transformRequest
):
- 如果请求配置对象的data属性包含 对象,将其序列化为JSON格式。
响应转换 (
$httpProvider.defaults.transformResponse
和$http.defaults.transformResponse
):
- 如果检测到XSRF前缀,请将其删除(请参阅安全注意事项 以下部分)。
- 如果检测到JSON响应,请使用a反序列化它 JSON解析器。