Tworzę stronę internetową z Codeigniter 3 i AngularJs. Podczas delevolping napotkałem pewne problemy z bazowego adresu URL w codeigniter. Im dołączam plik obrazu z mojej listy katalogów.AngularJS Codeigniter ustawienia ścieżki_url
W moim tytułowa (Views/Home.php) i umieścić NG-view ładowania różnych stron. Tutaj używam angularjs ngRoute do routingu.
Oto mój kod.
var myApp = angular.module("myApp",["ui.bootstrap","ui.router","ngRoute"]);
myApp.config(function($routeProvider) {
$routeProvider
.when("/", {
templateUrl : "application/pages/mainpage.php"
})
.when("/about", {
templateUrl : "application/pages/about.html"
})
.when("/services", {
templateUrl : "application/pages/services.html"
})
.otherwise("/",{
templateUrl: "application/pages/mainpage.php"
});
});
Wewnątrz tej mainpage.php jestem wymieniając niektóre zawartość profili (atrapa treści), który przebywa wewnątrz pliku json (dane osobowe/data.json). I wszystkie treści były na liście. I wewnątrz szczegóły umieściłem przycisk z ng-click = "MyName"
Oto kod:
<div class="container" ng-controller="ListController">
<div class="row">
<div class="col-lg-12 text-center">
<h1>Starter Template</h1>
<p class="lead">Complete with pre-defined file paths that you won't have to change</p>
<div class="row">
<div class="col-sm-6 col-md-4 wow zoomIn" data-wow-delay="0.5s" ng-repeat="items in artists">
<div class="thumbnail">
<img ng-src="{{settings.base_url}}/application/assets/images/profile/{{items.shortname}}.jpg" alt="...">
<div class="caption">
<h3>{{items.name}}</h3>
<p>{{items.bio}}</p>
<p><a href="javascrip:void(0);" class="btn btn-primary" ng-click="myName()" role="button">Button</a> <a href="#" class="btn btn-default" role="button">Button</a></p>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- /.row -->
</div>
Całe kod js zostały wriiten w app.js (aktywa/js/app.js) w tym Angular Js. W tym pliku js ustawiam zmienną base_url taką samą, jak w pliku codeigniter config.php
$ config ['base_url'] = 'http://localhost/AngularExPack/Angular_Bootstrap_CI_1/';
wewnątrz app.js
var base_url = 'http://localhost/AngularExPack/Angular_Bootstrap_CI_1/'
Po kliknięciu na przycisk z moim ng-click = "mojanazwa" Chcę, aby uzyskać sterownik (regulator CodeIgniter) i chcesz wykonać funkcja wewnątrz tego kontrolera. Tutaj używam auth.php (controllers/auth.php) i nazwa funkcji jako functionOne();
public function functionOne()
{
/*$this->load->view('home1');*/
echo "hai";
}
W tym przypadku za pomocą $ hhtp.post i var base_url dla ścieżki. Ale nie dostałem tego wyniku i nie przekazałem tego kontrolera.
ng-click = "Funkcja myName" działa poprawnie. Ale to nie przechodzi do funkcji functionOne w tym sterowniku auth.php. Myślę, że problem jest prawdopodobnie ze ścieżką base_url. Jeśli ktoś wie, ten plz pomoże mi rozwiązać ten problem.
może mieć coś wspólnego z $ config ['csrf_protection'] = TRUE; który znajduje się w pliku konfiguracyjnym codeigniter – gianni
Dzięki za komentarz ur. Próbowałem, ale nie działałem. – Raj