2016-07-02 24 views
6

Come posso inviare stato e messaggio in espresso 4.14?Express 4.14 - Come inviare 200 stato con un messaggio personalizzato?

per: res.sendStatus (200);

ottengo OK sul mio browser, ma voglio che visualizzare un messaggio personalizzato come ad esempio: Successo 1

res.sendStatus(200); 
res.send('Success 1'); 

Errore:

Error: Can't set headers after they are sent.

Se faccio this:

res.status(200).send(1); 

Errore:

express deprecated res.send(status): Use res.sendStatus(status) instead

Qualche idea?

risposta

14

È possibile utilizzare:

res.status(200).send('some text'); 

se si desidera passare il numero al metodo di invio, convertirlo in stringa prima per evitare il messaggio di errore disapprovazione.

la deprecazione è per lo stato di invio direttamente all'interno di invio.

res.send(200) // <- is deprecated 

BTW - lo stato di default è 200, quindi si può semplicemente utilizzare res.send ('Success 1'). Usa .status() solo per gli altri codici di stato

+0

otterrete 'esprimere res.send deprecato (stato): Utilizzare res.sendStatus (stato) instead' vedere la mia modifica di cui sopra, grazie. – laukok

+0

Si prega di leggere la mia risposta, Sarà solo una fortuna quando si passa il numero da inviare() –

+0

hai ragione. era int 1 invece di 'successo 1' – laukok

3

Non dovrebbe essere sempre quello ultimo errore se si sta utilizzando il codice esatto:

res.status(200).send('Success 1') 

La mia ipotesi è che non si sta usando il stringa "Successo 1" ma una variabile numerica o valore invece:

let value = 123; 
res.status(200).send(value); 

che avrebbe scattare l'allarme. Invece, assicurarsi che value è stringata:

let value = 123; 
res.status(200).send(String(value)); 
+0

hai ragione. era int 1 invece di 'successo 1' – laukok

Problemi correlati