2017-02-01 26 views
5

Próbuję utworzyć łącze w widoku aplikacji AngularJS tylko po to, aby wysłać metodę danych DELETE.Łącze HTML z metodą danych nie działa

Moja trasa:

app.delete('/logout', function(req, res) { 
    req.session = null 
    res.status(200) 
    res.redirect('/') 
}) 

Moja PugJS szablon:

a(ng-href='/logout', data-method='delete', data-confirm='Are you sure?', rel='nofollow') 
      span(translate) Logout 

HTML generowane:

<a ng-href="/logout" data-method="delete" data-confirm="Are you sure?" rel="nofollow" class="" href="/logout"> 
    <span translate="translate" class="ng-scope"> 
     <span class="ng-scope">Logout</span> 
    </span> 
</a> 

Ale kiedy w link pojawia się komunikat następujący:

Cannot GET /logout 

Wygląda na to, że metoda danych nie działa. Czy ktoś wie, co się dzieje?

Dzięki za chwilę.

Odpowiedz

2

Przypuszczam, że jesteś przyzwyczajony do używania data-method z Railsami. W AngularJS (lub HTML) nie ma czegoś takiego jak data-method.

Moja sugestia to albo napisać własną dyrektywę, aby wysłać usunięcie, albo dodać akcję w kontrolerze i użyć zamiast tego ng-click.