2016-07-02 1 views
6

특급 4.14로 상태 및 메시지를 보내려면 어떻게해야합니까?Express 4.14 - 사용자 정의 메시지로 200 개의 상태를 보내는 방법은 무엇입니까?

대상 : res.sendStatus (200);

나는 내 브라우저에서 확인을 얻을 수 있지만, 나는 그것이 같은 사용자 정의 메시지를 표시 할 : 성공 1

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

오류 :

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

나는 this 할 경우

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

오류 :

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

아이디어가 있으십니까?

답변

14

당신은 사용할 수 있습니다

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

는 전송 방식에 번호를 전달하려면, 문자열로 변환 첫째 중단 오류 메시지가 나타나지 않도록 할 수 있습니다.

deprecation은 send 내에서 직접 상태를 보내기위한 것입니다. BTW

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

- 기본 상태는 200이다, 그래서 당신은 단순히 res.send ('성공 1')를 사용할 수 있습니다. 사용 .STATUS()는 다른 상태 코드

에 대한
+0

당신이'얻을되지 않는 res.send (상태)를 표현하는 것입니다 : 사용 res.sendStatus (상태가) 감사 위의 내 편집을 참조 instead'. – laukok

+0

내 대답을 읽어주십시오, 그것은 단지() –

+0

당신이 옳았을 보낼 번호를 통과 할 때 일어날 것입니다. '성공 1'대신 int 1이었습니다 – laukok

3
당신이 정확한 코드를 사용하는 경우 당신은 마지막 오류가 발생하지 않아야

는 :

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

내 생각 엔 당신이 사용하지 않을 것입니다 문자열 "성공 일" 대신 숫자 변수 또는 값 : 경고를 트리거 할

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

있다. 대신, value이도 캐릭터 라인되어 있는지 확인합니다 :

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

당신 말이 맞아요. 그것은 '성공 1'대신 int 1이었습니다. – laukok