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.