2016-11-23 92 views
2

我有一個控制器向Web服務發送參數,當我得到Web服務的響應時,我必須顯示一個通知(這就是爲什麼我使用notify.js),但代碼沒有運行。我告訴你:在角度控制器上使用notify.js

控制器:

$scope.alert = function(){ 
     console.log($scope.q + "/" + $scope.s.id + "/" + $scope.k.id); 
     // http://localhost:8080/test/cftyu/q/q/" + q + k + s 
     return $http.get('http://localhost:8080/test/cftyu/q/q/" + q + k + s) 
     .success(function(data) { 
      return data; 
      console.log(data); 
      $.notify("Hello World"); 
     }) 
     .error(function(data) { 
      return data; 
      console.log(data); 
     }); 
    }; 
    console.log("fin controlador"); 

我希望有人可以幫助我,我知道通知被稱爲與jQuery沒有棱角我一直在努力創造一個指令,但無論如何都不會工作。我會感謝任何幫助。

編輯: 我去過tryint溶液戴夫庫珀提議但它不靈:

我試圖您水溶液卻不工作我。我有此控制器:

app.controller('CreateQuestionsController', ['$scope', '$log', '$http', '$window', 'sections', 'kind', 'order', 'notify', 
             function($scope, $log, $http, 

    $window, sections, kind, order, notify) { 
    $scope.alert = function(){ 
       return $http.get("http://localhost:8080/test/cftyu/q/q/" + q + k + s) 
       .success(function(data) { 
        console.log(data); 
        notify("Hello World"); 
        return data; 
       }) 
       .error(function(data) { 
        console.log(data); 
        return data; 
       }); 
      }; 
    }]); 

編輯2:

查看:

<form class="form-horizontal"> 
    <div class="form-group"> 
     <label for="inputEmail3" class="col-sm-2 control-label">Pregunta</label> 
     <div class="col-sm-10"> 
      <textarea class="form-control" rows="3" ng-model="question"></textarea> 
     </div> 
    </div> 
    <div class="form-group"> 
     <div class="col-sm-offset-2 col-sm-3"> 
      <label>Clase</label> 
      <select class="form-control" ng-options="kind as kind.name for kind in kinds track by kind.id" ng-model="kind"></select> 
     </div> 
    </div> 
    <div class="form-group"> 
     <div class="col-sm-offset-2 col-sm-3"> 
      <label>Sección</label> 
      <select class="form-control" ng-options="section as section.sectionname for section in sections track by section.id" ng-model="section"></select> 
     </div> 
    </div> 
    <div class="form-group"> 
     <div class="col-sm-offset-2 col-sm-3"> 
      <button showNotify type="button" class="btn btn-default btn-lg" ng-click="alert()">Guardar</button> 
     </div> 
    </div> 
</form> 

我加載在 '主' 視圖中的所有js文件,在這樣的底部:

<!-- Modules --> 
    <script src="js/app.js"></script> 

    <!-- Controllers --> 
    <script src="js/controlers/HomeController.js"></script> 
    <script src="js/controlers/CreateQuestionsController.js"></script> 
    <script src="js/controlers/ShowQuestionsController.js"></script> 

    <!-- Services --> 
    <script src="js/services/questions.js"></script> 

    <!-- Directives --> 
    <script src="js/directives/notify.js"></script> 

控制器就像是我

前發佈

編輯3:

有路由和控制器視圖連接:

var app = angular.module('onBuy', ['ngRoute']); 

app.config(function ($routeProvider) { 
    $routeProvider 
     .when('/create/questions/', { 
      controller: 'CreateQuestionsController', 
      templateUrl: 'views/createQuestions.html' 
     }) 
     .otherwise({ 
      redirectTo: '/' 
     }); 
}); 
+0

爲什麼你不使用類似https://github.com/cgross/angular-notify支持'angular'的庫 –

+0

我試過這個庫,但不知道爲什麼不能爲我工作 – proktovief

+0

只是試着根據提供那裏的文檔 –

回答

3

你從你的成功和錯誤顯示功能,您的通知之前回來,所以你的一些代碼是無法訪問(即您正在返回數據,然後嘗試記錄事件並顯示您的通知)。您可以在下面看到我的代碼,以瞭解我的意思。

使用類似Angular Notify這樣的Angular服務可能更好。

這裏是你的代碼是什麼樣子吧 - 假設你已經注入的服務爲您的控制器(我已經包含了樣本控制器):

angular.module('app', ['cgNotify']) 
    .controller('myController', function($scope, $http, notify) { 
     $scope.alert = function(){ 
      return $http.get("http://localhost:8080/test/cftyu/q/q/" + q + k + s) 
       .then(function(data) { 
        console.log(data); 
        notify("Hello World"); 
        return data; 
       }, function(data) { 
        console.log(data); 
        return data; 
       }); 
     }; 
     console.log("fin controlador"); 
    }); 

希望幫助!

編輯:哦,你在你提供的代碼中也有語法錯誤 - 我也修正了這個錯誤!

+0

我triyed,但仍然不工作,我改變了代碼,但不起作用 – proktovief

+0

我對你發佈的鏈接進行了三化處理,但不知道爲什麼不起作用,並且我沒有在js控制檯上收到任何消息 – proktovief

+0

你可以分享其他代碼嗎?如果你可以與我們分享你的模板,那會很好。 –