2016-04-12 35 views
1

yapmam http.get açısal js denaçısal js ile yönlendirme js ifade

ayrıntılı
$http.get('/api/users?id='+userID) 

eğer ekspres js

res.status(401).location('/login').end(); 

Вut gelen durumuyla sunucudan 200 ile bir yanıt yönlendiririm yetkisiz Bir yanıt verisinde giriş sayfası

Neden geri dönüş durumu 200 ve değil 401 nasıl düzeltilir?

ve istemci tarafında benim another question

+0

İstemci tarafında kullanıcıyı yönlendirmek gerekir: windows.location.href = '/ login' ı verileri alınan ve yönlendirme görüyoruz – MBN

+0

@MBN? Neden 401 durumunu alamıyorsunuz? – name

+0

123 Yazılı olarak yaptım [burada] (http://stackoverflow.com/a/29482118/5507287) – name

cevap

0

Sen yönlendirmesi gerektiğini kullanıcı. Bu deneyin:

$http.get('/api/users?id='+userID).error(function(data, status){ 

    if(status==401){ 
     window.location.href='/login'; 
    } 

}); 

Sunucu tarafı:

res.status(401).send({ hasError: true }); 
+0

lütfen buraya bakın http://stackoverflow.com/questions/36309821/express-js-redirect – name

+0

bir dinlenme api ve doğrudan sunucu tarafında yönlendiremezsiniz – MBN

0

Sizin $http.get senin durumunda sadece giriş sayfası değil, bir yönlendirme talimatıdır yanıt bekliyor. Bu nedenle, bir durum koduyla yanıt vermeniz ve ardından istemci tarafında yönlendirmeniz gerekir.

$http.get('/api/users?id='+userID).error(function(data, status){ 

    if(status==401){ 
     $window.location.href='/login'; 
    } 

}); 

Sunucu tarafında, yetkilendirilmemişlerse, bir durum kodu göndermeniz yeterlidir.

res.status(401).end();