首页 > Web开发 > 详细

AngularJS转换请求内容

时间:2016-01-27 12:37:02      阅读:125      评论:0      收藏:0      [点我收藏+]

 

在"AngularJS中转换响应内容"中,体验了如何转换响应内容。本篇来体验如何转换请求内容。

主页面通过onSend方法把request对象转递出去。
 

<form name="form">
    <textarea ng-model="request.message" required></textarea>
    <input ng-model="request.tags">
</form>
<button ng-click="onSend($event, form.$valid)">发送</button>

 

request对象和onSend方法被定义在了controller中。

 

angular.module(‘api.controllers‘)
    .controller(‘controllers.View‘,[‘$scope‘, ‘services.Api‘, function($scope, api){
        $scope.request = {
            message: "",
            tags:""
        };
        
        $scope.onSend = function(event, valid){
            event.preventDefault();
            if(valid){
                api.send($scope.request).then(function(result){
                    $scope.request.message = "";
                    $scope.request.tags = "";
                })
            }
        }
    }]);

 

以上,控制器依赖了services.Api这个服务,该服务封装了post请求。

 

angular.module(‘api.services‘).factory(‘services.Api‘,[‘$q‘, ‘$http‘, ‘services.transformer.ApiRequest‘, function($q, $http, apiRequestTransformer){
    return {
        send: function(message){
            var deferred = $q.defer();
            $http({
                method: "POST",
                url: "",
                data: message,
                transformRequest: apiRequestTransformer
            }).success(function(data){
                deferred.resolve(data);
            });
            
            return deferred.promise;
        }
    }
}]);

 

$http服务中的transformRequest字段就是用来转换请求的。services.transformer.ApiRequest服务用来实施具体的转换。

 

angular.module(‘api.transformers‘).factory(‘services.transformer.ApiRequest‘, function(){
    return function(data){
        return JSON.stringify(data);
    }
})

 

AngularJS转换请求内容

原文:http://www.cnblogs.com/darrenji/p/5162667.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!