2015-10-13 108 views
1

我有一個角度的應用程序進行身份驗證用戶,其中聯繫webservice 進行身份驗證。 Webservice返回一個json,其中如果用戶通過身份驗證,則將用戶路由到一個頁面。如果沒有,我顯示一個隱藏的div。角js麻煩顯示div元素

問題是,它第一次正常工作。比如說,用戶輸入了無效的憑證,div顯示出來。如果用戶再次輸入無效憑證,則什麼也不會發生。但是,從服務器json收到。警報();工作正常..但顯示div只能工作一次。我怎樣才能達到這個任何數量的失敗條目? 。 感謝您的幫助..張貼片段。

login.controller('loginController', function($scope, $http) 
{ 
    $scope.credentials = {}; 
    var popFailmessage = function(){ 
     //function for displaying div 
     $("#danger-alert").show(); 
      $("#danger-alert").fadeTo(2000, 500).slideUp(500, function(){ 
      $("#danger-alert").alert('close'); 

      }); 
    } 
    $scope.authenticate = function(user){ 
     var credentials = user;// angular.copy(user); 
    $http({ 
method: "GET", 
url: "http://localhost:8000/index/action", 
params: { 
    email : credentials.email, 
    password : credentials.password 
} 
}).success(function (data, status, headers, config) { 
    console.log(data); 
     if(data == 0){ 
      popFailmessage(); //calling method here 

     }else{ 
      //redirect to some page 
     } 
    }) 
    .error(function (data, status, headers, config) { 
     console.log(data); 
    }); 


    } 


}); 

和HTML部分..

<div class="alert alert-danger" id="danger-alert" style="display:none"> 
<button type="button" class="close" data-dismiss="alert">x</button> 
<center> <strong>Login Failed! </strong> 
Please check your ID/ Password.</center> 

在此先感謝!

+0

這只是代碼的一部分,這裏沒有足夠的信息供其他人複製問題並調試您的邏輯。你應該更新你的問題,包括問題的[mcve],最好是使用類似plunker的東西。除此之外,你在問爲什麼角沒有顯示彈出窗口,但函數不是角度的。 '$'是JQuery。 – Claies

+0

如果我不得不猜測,而不是JQuery的專家,那麼我的第一個猜測就是您不會每次都創建一個新的div,您正在嘗試重新使用現有的div,並且您已經使用了無效的語法'.fadeTo()'函數(第二個參數,不透明度,從'0'到'1'有效,但你有'500'),所以div消失了,並且在下次嘗試顯示時不會再出現它。 – Claies

+0

@Claies我剛剛告訴,它的一個角度的應用程序..這是它的大部分..核心邏輯..我發射ajax和即時獲取數據。發佈讓我無法使用jquery顯示div。如前所述,它第一次正常工作,然後不響應......但我可以看到來自服務器(console.log)的數據。 ..i認爲包括所有東西..從調用web服務到顯示div。 – Pavan

回答

1

@Pavan,你可以試試下面的代碼:

var popFailmessage = function(){ 
    //function for displaying div 
    $("#danger-alert").show(); 
     $("#danger-alert").fadeTo(2000, 500).slideUp(500, function(){ 
      $("#danger-alert").alert('close'); 
      $("#danger-alert").hide(); 
     }); 
} 

它應該工作。

+0

它也沒有工作! :(! – Pavan

+1

檢查控制檯是否出現如下錯誤: $(...)。alert不是函數 如果是的話,請在註釋以下行後嘗試 $(「#danger-alert 「).alert('close'); –

+0

@JS在控制檯中沒有錯誤:| – Pavan