angularjs JSONP服务

直接上代码

<!DOCTYPE html>

<html  ng-app="myApp.services">
<head lang="en">
    <meta charset="UTF-8">
    <title>服务</title>
    <link rel="stylesheet" href="Presently/css/bootstrap.css"/>
</head>
<body>
<div ng-controller="ServiceController">
    <input type="text" ng-model="username"  placeholder="Enter a GitHub username, like auser" />
    <pre ng-show="username">{{ events }}</pre>
</div>
<script src="jquery.js"></script>
<script src="angular.js"></script>
<script src="angular-route.js"></script>
<script>
    var app = angular.module("myApp.services",[]);
    //服务
    app.factory('githubService',['$http',function($http){
        var doRequest = function(username,path){
            return $http({
                method:'JSONP',
                url:'https://api.github.com/user/'+username+'/'+path+'?callback=JSON_CALLBACK'
            })
        }
        return{
            events:function(username){return doRequest(username,'events')}
        }
    }]);
    //服务注入到控制器
    app.controller('ServiceController',['$scope','$timeout','githubService',function($scope,$timeout,githubService){
        var timeout;
        $scope.$watch('username', function(newVal) {
            if (newVal) {
                if (timeout) $timeout.cancel(timeout);
                timeout = $timeout(function() {
                    githubService.events(newVal)
                            .success(function(data, status) {
                                $scope.events = data.data;
                            });
                }, 350);
            }
        });
    }]);
</script>
</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值