修改后AngularJS templateUrl无法正常工作

Im new to Angular Js. Im trying to make dynamic views system.

My script file:

 var site = angular.module('site', ["ngRoute"]);
 var initInjector = angular.injector(['ng']);
 var $http = initInjector.get('$http');
 site.config(function($routeProvider,$locationProvider){
    $http.get("requests/views.php")
    .then(function (response) {
        var views = response.data.views;
        $.each(views, function(i){
            console.log(views[i].link)
                $routeProvider.when('/' + views[i].link, {
                templateUrl: views[i].template
                // controller: 'pagesController'
            })
        })

    })

    $routeProvider.when('/', {
        templateUrl: "template/home.php"
    })
})

requests/views.php file:

<?php
header("Access-Control-Allow-Origin: *");
header("Content-Type: application/json; charset=UTF-8");

$conn = new mysqli("localhost", "root", "", "database");

$result = $conn->query("SELECT * FROM pages");

$views = "";
while($view = $result->fetch_array(MYSQLI_ASSOC)) {
    if($views != ""){$views .= ",";}
    $views .= '{"id":"' .$view["id"]. '",';
    $views .= '"title":"' .$view["title"]. '",';
    $views .= '"type":"' .$view["type"]. '",';
    $views .= '"link":"' .$view["link"]. '",';
    $views .= '"template":"' .$view["template"]. '",';
    $views .= '"params":"' .$view["params"]. '"}';
}
$views = '{"views":['.$views.']}';
$conn->close();

echo($views);

I have a mysql database with a table called pages. It worked perfect but when I refresh the page, template not loaded. I have not idea why that happens. Thanks and sorry for my English.