2016-07-05 8 views
-2

Ich versuche, eine Taste zu machen, die einen Aufruf an den Server-Funktion Route getMentions js Knoten machen, aber es ist nichtButton-Klick Aufruf Knoten js Funktion versagt

aufgerufen wird

Dies ist meine Schaltfläche in index.html:

<button action="/getMentions" class="btn" id="btn1">Show Mentions</button> 

und das sind meine Funktionen in index.js:

router.get('/', function(req, res, next) { 
    res.render('index.html');}); 

router.get('/getMentions', function (req, res) { 
    console.log("got to GET MENTIONS!"); 
    performRequest();}); 

der erste Weg trifft in Ordnung und das hTML gerendert wird, so ist, dann warum funktioniert der zweite nicht? Ich denke, es ist etwas mit meiner Konfiguration vielleicht. Jede Hilfe wäre willkommen. Danke in Adv!

+0

weil .... Sie haben nichts getan, das eine Anfrage zurück an den Server senden würde. Wo hast du gelesen, dass du einer Schaltfläche ein Attribut "Aktion" gegeben hast? –

+0

@KevinB .. Ich habe die Taste gedrückt, und die 'Aktion' sollte sich darum kümmern, richtig? – amigo21

+0

nein? Was soll ein Aktionsattribut auf einer Schaltfläche tun? Soweit ich weiß, nichts. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button –

Antwort

1

<button> Elemente haben kein action Attribut. Wahrscheinlich suchen Sie nach dem Attribut formaction, das zum Überschreiben der action-Eigenschaft eines übergeordneten Elements verwendet wird.

+0

Oh du hast recht! Das habe ich wahrscheinlich vergessen. Aber wie kann ich dasselbe mit nur einem Knopf machen? 'href' oder' onclick' Attribute funktionieren nicht – amigo21

+0

'formaction' ist ein Attribut von' button' Elementen, also ersetzst du 'action' durch' formaction' (du solltest natürlich ein 'form' Element haben). Beachten Sie außerdem, dass Sie zum Testen einer Route nicht auf eine Schaltfläche klicken müssen. Sie können die URL in die Adresszeile Ihres Browsers eingeben und die Eingabetaste drücken. Bitte beachten Sie, dass Ihre '/ getMentions' keine Antwort zu senden scheinen und der Server wartet auf die Anfrage. – undefined