• angularjs自定义数据获取服务


    自定义数据获取服务文件:server-http.js 

    var m1 = angular.module('module1',[]);
    m1.config(['$httpProvider',
        function ($httpProvider) {
            $httpProvider.defaults.withCredentials = true; //设定Cookie支持
            // Use x-www-form-urlencoded Content-Type
            $httpProvider.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';
            $httpProvider.defaults.headers.put['Content-Type'] = 'application/x-www-form-urlencoded';
            $httpProvider.defaults.headers.post['Accept'] = 'application/json';
            $httpProvider.defaults.headers.put['Accept'] = 'application/json';
            // Override $http service's default transformRequest
            $httpProvider.defaults.transformRequest = [function(data)
            {
                /**
                 * The workhorse; converts an object to x-www-form-urlencoded serialization.
                 * @param {Object} obj
                 * @return {String}
                 */
                var param = function(obj)
                {
                    var query = '';
                    var name, value, fullSubName, subName, subValue, innerObj, i;
                    for(name in obj)
                    {
                        value = obj[name];
                        if(value instanceof Array)
                        {
                            //  console.log("Array");
                            for(i=0; i<value.length; ++i)
                            {
                                subValue = value[i];
                                fullSubName = name + '[' + i + ']';
                                innerObj = {};
                                innerObj[fullSubName] = subValue;
                                query += param(innerObj) + '&';
                            }
                        }
                        else if(value instanceof Object)
                        {
                            // console.log("object");
                            for(subName in value)
                            {
                                subValue = value[subName];
                                if(subValue != null){
                                    // fullSubName = name + '[' + subName + ']';
                                    //user.userName = hmm & user.userPassword = 111
                                    fullSubName = name + '.' + subName;
                                    // fullSubName =  subName;
                                    innerObj = {};
                                    innerObj[fullSubName] = subValue;
                                    query += param(innerObj) + '&';
                                }
                            }
                        }
                        else if(value !== undefined ) //&& value !== null
                        {
                            // console.log("undefined");
                            query += encodeURIComponent(name) + '=' + encodeURIComponent(value) + '&';
                        }
                    }
                    return query.length ? query.substr(0, query.length - 1) : query;
                };
                return angular.isObject(data) && String(data) !== '[object File]' ? param(data) : data;
            }]
            $httpProvider.defaults.useXDomain = true;
        }
    ]);
    
    m1.factory('db', ['$http', '$q', function($http, $q) {
        return {
            getData: function(url, parama) {
                var deferred = $q.defer();
                $http.post(url, parama)
                    .success(function(response, status, headers, config) {
                        deferred.resolve(response);
                    }).error(function(response, status, headers, config){
                    var errorObj = {
                        response: response,
                        status: status,
                        headers: headers,
                        config: config
                    };
                    deferred.reject(errorObj);
                });
                return deferred.promise;
            }
        }
    }]);

    自定义数据获取服务html文件

    <!DOCTYPE HTML>
    <html ng-app="myApp">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>无标题文档</title>
    <script src="angular.min.js"></script>
    <script src="server-http.js"></script>
    <script>
    var m2 = angular.module('myApp',['module1']);
    m2.controller('Aaa',['$scope','db',function($scope,db){
        var url = 'http://60.205.115.173:8081/yitaireport/report/getTitleDetail';
        var parama = {
            trialId:105,
            cityId:530100,
            areaId:530181,
            roleType:10,
            templateType:20
        };
        db.getData(url, parama).then(function(resData) {
            console.log( resData );
        }, function(error) {
    
        })
    }]);
    </script>
    </head>
    
    <body>
    <div ng-controller="Aaa">
    </div>
    </body>
    </html>

    日常代码记录下来,方便日后引用。 

  • 相关阅读:
    Visio2019专业版激活方法
    I2C总线协议
    latch-up和Antenna-effect
    读--数字集成电路物理设计
    数字IC设计流程与工具
    读--FPGA设计指导原则
    读--数字集成电路设计与实现
    FIFO
    半导体存储器
    触发器
  • 原文地址:https://www.cnblogs.com/lw9413/p/6133456.html
Copyright © 2020-2023  润新知