2016-08-11 6 views
0

Я разрабатываю проект с Anjular js и Codeigniter 3. У меня возникли некоторые проблемы с маршрутизации в угловых js. У меня есть страница просмотра со списком деталей пользователей, и внутри этого списка есть тег с ng-click = "myName()". Я объявил эту функцию внутри моего js-файла, и эта функция работает нормально.

<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="{{settings.base_url_controller}}auth/functionOne" 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> 

Внутри этой функции "Myname()" Я написал $ http.post для получения функции внутри контроллера (контроллер Codeiginter). Я использую auth.php как контроллер, а функция functionOne() - это функция для извлечения.

var base_url_abs = window.location.origin; 
var base_url = base_url_abs+'/AngularExPack/Angular_Bootstrap_CI_1/'; 
var base_url_controller = base_url_abs+'/AngularExPack/Angular_Bootstrap_CI_1/index.php/'; 

    myApp.controller('ListController', ['$scope', '$http', 'settings', function($scope, $http) { 

$http.get('application/datas/data.json').success(function (data){ 
    $scope.artists = data; 
    }); 
$scope.myName = function() { 
     alert("hai1"); 
/* 
     $http.post(base_url_controller+'auth/functionOne/').success(function (response){ 
      $scope.data = response 
      console.log(response); 
      //alert($scope.data); 
     });*/ 


    /**/ $http({ 
      method : 'POST', 
      url  : base_url_controller+'auth/functionOne/', 
      headers : {'Content-Type': 'application/x-www-form-urlencoded'} 
     }) 
     .success(function(data) { 
      $scope.data = response 
      console.log($scope.data); 
      alert($scope.data); 
      }); 

    } 

}]); 

Когда я запускаю это, ошибка произошла, и показывая, как это внутри консоли

enter image description here

Но я получаю правильный результат, когда я нажмите на эту ссылку, а также, если я введите base_url путь внутри href внутри тега.

<a href="{{settings.base_url_controller}}auth/functionOne" class="btn btn-primary" ng-click="myName()" role="button">Button</a> <a href="#" class="btn btn-default" role="button">Button</a> 

Но что мне нужно внутри этой функции Myname я иметь доступ к функции контроллера functionOne() с помощью $ HTTP с помощью угловых JS. Это возможно.?

Если кто-нибудь знает, пожалуйста, помогите мне найти решение в ng-click. Исправьте меня, если я написал неправильный код.

спасибо.

+1

GET работы, POST не делает. Так что в вашем бэкэнде что-то не так. – str

+0

Код состояния 403 ответов являются результатом того, что веб-сервер настроен на запрет доступа, так что это проблема конфигурации Вы пытались заменить «window.location.origin;» строкой? – DMCISSOKHO

+0

@ str Thanks for ur comment СсылкаError: ответ не определен, показывается, когда я использовал GET. – Raj

ответ

0

вы должны использовать

  $http({ 
      method : 'GET', 
      url  : base_url_controller+'auth/functionOne/', 
      headers : {'Content-Type': 'application/x-www-form-urlencoded'} 
     }) 
     .success(function(data) { 
      $scope.data = data 
      console.log($scope.data); 
      alert($scope.data); 
      }); 
+0

«ReferenceError: response not defined» показывается, когда я использовал GET. – Raj

+0

замените его на данные, как в моем коде – DMCISSOKHO

+0

всю страницу просмотра, отображаемую в консоли, но мне нужно загрузить страницу просмотра, когда я нажимаю тег. – Raj