2011-09-20 6 views
9

나는 ExpressJS를 통해 NodeJS 웹 응용 프로그램을 만들고 있습니다. 내가 (다른 사람의 사이에서) 다음과 같은 두 가지 경로가 있습니다. "검증 인덱스 실행"매개 변수가있는 경로가 두 번 호출됩니까?

app.get('/user/reset/verify', function(req, res) { 
    console.log("Executing verification index."); 
    res.render("verify/index"); 
}); 

app.get('/user/reset/verify/:email/:token', function(req, res) { 
    console.log("Executing verification change."); 
    res.render("verify/change"); 
}); 

내가 검증 인덱스 페이지로 이동, 내가 볼을 콘솔에 한 번 인쇄됩니다. 그러나 확인 변경 페이지로 이동하면 "확인 실행 변경"이라고 표시됩니다. 콘솔에 두 번 인쇄됩니다.

나는 이것이 내 응용 프로그램의 경로 경향 인 것으로 나타났습니다. 매개 변수가있는 경로는 항상 두 번 실행되지만 매개 변수가없는 경로는 한 번만 (올바르게) 실행됩니다.

매개 변수가있는 경로가 두 번 실행되는 이유는 무엇입니까?

렌더링되는 뷰에는 단순한 HTML 만 포함되어 있으므로 페이지에 대한 다른 요청이 발생하지 않습니다. 또한 Chrome 브라우저에서 이러한 요청을 보내고 있습니다.

플랫폼/버전 :

  • NodeJS : 2.4.6
  • 연결 : 1.7.1
+0

나는 그 노드 0.5.5 버그를 기대하고있다. 0.4.12를 사용하여 시도하십시오 – Raynos

+0

@ 레이 노스 : 좋아요, 나는 0.4.12의 윈도우 실행 파일을 찾고 그 것이 문제를 해결하는지 확인하려고 노력할 것입니다. –

+1

0.4.12에서 실행 가능한 창은 없습니다. Express는 0.5.x에서 지원되지 않습니다 (자체 위험에 사용). 리눅스에서 0.4를 사용하는 것이 좋습니다 – Raynos

답변

17

0.5.5 창

  • 익스프레스 (승 7에서 실행) 구축 두 번째 요청은 /favicon.ico입니다. http_server 요청 처리기에서 request.url을 로깅하려고하면 브라우저 URL과 다음 favicon이 표시됩니다.

  • +0

    어떻게 해결할 수 있습니까? – Asool

    -1

    크롬을 사용하는 경우 : URL을 작성하면 입력 요청을 보내기 전에 URL 확인 요청을 보내십시오.

    미들웨어 url console.log (req.url)에 로그를 남기고 콘솔을 broswer 옆에 놓고 url을 작성하면 콘솔 로깅 액세스가 표시됩니다.