2013-10-28 4 views
1

Я использую angularJs1.2 с работой с фреймворком codeigniter PHP. Я использую angularJS функцию маршрутизации, как:Маршрутизация AngularJs и Codeigniter вызывает бесконечный цикл перенаправления

var app = angular.module('app', ['ngAnimate', 'ngRoute']).config(['$routeProvider', '$locationProvider', function($routeProvider, $locationProvider) { 
     $routeProvider.when('/profile/personalInfo', {templateUrl: '<?php echo base_url().'profile/personalInfo' ?>', controller: personalInfo}); 
     $routeProvider.when('/profile/myPlaces', {templateUrl: '<?php echo base_url().'profile/myPlaces' ?>', controller: myPlaces}); 
     $routeProvider.otherwise({redirectTo: '/'}); 
     $locationProvider.html5Mode(true); 
    }]); 

, как вы видите, templateUrl загружен путь CodeIgniter как base_url().'profile/personalInfo'. Но пользователь может получить доступ к частичной странице непосредственно через этот путь, и я не хочу этого, поэтому я использовал маршрутизацию codeiginter для предотвращения доступа частичных страниц непосредственно, как это:

$route['profile/(:any)'] = 'profile/index/$1'; 

но когда я установить CodeIgniter маршрутизацию страницы перейдите в бесконечную петлю перенаправления внутри самого углового не страницы отверстия. Когда я удаляю маршрутизацию codiginter, она работает нормально, но к моим частичным страницам также можно получить доступ. Как я могу решить эту проблему?

+0

Вы считаете доставку частичных сигналов от другого контроллера? – charlietfl

+0

Я не могу понять, что вы имеете в виду. –

ответ

0

Я решил проблему, проблема в том, что маршрутизация codeigniter и angularjs одинаковы, и это вызывает проблему. В моем примере маршрутизация angularjs была /profile/personalInfo, а также маршрутизация кодовоза была $route['profile/(:any)'], и это вызвало цикл, когда я изменил маршрутизацию углов на /user/personalInfo, его работала нормально.

Смежные вопросы