2016-09-18 3 views
1

Node.js 및 Express 4를 사용하여 기본 웹 응용 프로그램을 만들고 있는데 "follow"기능을 구현하려고합니다. 나는 Github 웹 사이트를 조사한 후 사용자가 따라 가기 위해 서버에 게시 할 후속 단추가있는 양식을 사용함을 알았습니다. 나는 이것이 좋은 접근법과 같다고 생각하지만 게시 할 때 github 웹 사이트처럼 페이지를 새로 고침하고 싶지 않습니다.POST express.js로 리디렉션 안 함

익스프레스 4는 어떻게 내부에 있습니까? .post 라우트 안에 넣은 모든 것은 항상 페이지로드로 끝납니다. 나는 jQuery의 아약스 메소드에서 단지 false를 반환 할 수 있고 페이지에 아무 것도 일어나지 않을 것이라고 확신한다. 요청이 전송 될 것이다. 왜냐하면 나는 RESTful API를 사용하고 있기 때문에 사용자를 추가하기를 원한다. 현재 사용자의 다음에 따라야하지만이 함수에 대해 jQuery 만 사용하고 싶지는 않습니다. 어떤 도움을 주시면 감사하겠습니다 만 가능하면 Express에서 수행하는 것을 선호합니다.


보기/user.handlebars

<h1>{{user.displayName}}</h1> 
<p>@{{user.username}}</p> 

<form action="" data-userid="{{user._id}}" method="post"> 
    <button name="follow" type="submit">Follow</button> 
</form> 

루트/users.js 그래서

app.route('/:username') 
    .get(function(req, res) { 
     // get :username user from api and load info 
     ... 
    }) 
    .post(function(req, res) { 
     // don't reload page 

     ??? 

     // send PUT :username user to current users following array 
     ... 
    }); 

답변

1

당신이 올바른 궤도에있어, 대신의 조치를 넣어 HTML에서 (당신의 옥 파일에서) 당신은 비취에 script 섹션을 추가하고 자바 스크립트를 attac에 사용해야합니다. h onClick 이벤트를 버튼에 보내면 버튼을 누르면 아약스 메소드가 호출된다.

그것이 의미가 없는지 알려주세요.