2015-01-17 6 views
1

Я реализую AngularJS для перенаправления в проекте Codeigniter, но это вызывает бесконечное перенаправление. Моя структура каталогов и файлов как в соответствии с:Бесконечное перенаправление в AngularJS

 
    application 
     controllers 
      admin 
       home.php 
     view 
      admin 
       home 
        index.php 
       listing 
        index.php 
       theme 
        header.php 
        footer.php 
        index.php 
    system 

AngularJS КОД:

header.php

<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular.min.js"></script> 
<script> 
    var sampleApp = angular.module('sampleApp', []); 


    sampleApp.config(['$routeProvider', '$locationProvider', 
     function($routeProvider, $locationProvider) { 
      $locationProvider.html5Mode(true); 
      $routeProvider. 
       when('/angular/ci/admin/home/', { 
        templateUrl: 'home' 
       }). 
       when('/angular/ci/admin/home/listing/', { 
        templateUrl: 'home/listing' 
       }). 
       otherwise({ 
        redirectTo: '/angular/ci/admin/home/' 
       }); 
     } 
    ]); 
</script> 

<div>header</div> 

<div> 
    <a href="http://localhost/angular/ci/admin/home/">Home</a>&nbsp;&nbsp;&nbsp; 
    <a href="http://localhost/angular/ci/admin/home/listing/">Listing</a> 
</div> 

Тема/index.php

<div ng-app="sampleApp"> 
    <?php 
     $this->load->view(ADMIN_THEME."header.php"); 
    ?> 
    <div class='ng-view'> 
     <?php 
      $this->load->view('admin/'.$pagename);    
     ?> 
    </div> 
    <?php 
     $this->load->view(ADMIN_THEME."footer.php"); 
    ?> 
</div> 

Контроллеры/home.php

<?php if (! defined('BASEPATH')) exit('No direct script access allowed'); 

class Home extends CI_Controller { 
    public function index(){ 
     $data['pagename']='home/index'; 
     $this->load->view(ADMIN_THEME.'index',$data); 
    } 
    public function listing(){ 
     //echo 'hi'; 
     $this->load->view('admin/listing'); 

    } 
} 
+0

У вас есть .htaccess файл, который вызывает перенаправление, когда файл не найден? У меня была проблема с тем, что, если какой-либо файл не найден, он перенаправляется к корню документа, а затем повторяется до тех пор, пока браузер не выйдет из строя. – Porlune

ответ

0

Вы должны RedirectTo путь, который определен.

Другими словами, при переадресации на «/» он проходит через пути и ищет совпадение, а так как один не найден, он перенаправляется на «/» и т. Д. Вы должны перенаправить на/угловой/ci/admin/home/or/angular/ci/admin/home/listing/

удачи.

+0

Спасибо, но я тоже попробую. Сейчас он работает, но я столкнулся с проблемой бесконечной, из-за моей темы (заголовок, нижний колонтитул и т. Д.). Когда я нажимаю на ссылку, это будет страница, связанная с параметрами, но она также загружает все файлы темы, и именно поэтому она идет бесконечно. Пожалуйста, помогите мне, как остановить это бесконечное перенаправление? – Dipen

+0

Хм. Не уверен, но похоже, что он рассматривает загрузку заголовка/нижнего колонтитула как перенаправление на стороне клиента. В этом случае вы можете попробовать НЕ использовать режим HTML5 и префикс ссылок на стороне клиента с помощью «#». Кроме того, я не думаю, что в директиве 'ng-view' должно быть что-то загружено. Это управляется угловым маршрутизатором, если я не ошибаюсь. – Beartums

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