게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
nodejs ) html에서 <form>으로는 서버에서 응답을 못받나요?
게시물ID : programmer_10011짧은주소 복사하기
작성자 : 문식이당
추천 : 0
조회수 : 1842회
댓글수 : 6개
등록시간 : 2015/05/13 16:20:59
안녕하세요
nodejs + express로 웹을 만들고 있습니다.
 
웹을 만들면서 몇가지 (제기준에서) 도저히 풀리지 않는 것들이 있습니다.
그중 하나가 post신호로   서버에 요청 , 응답 관련 입니다.
 
브라우저에서 어떠한 조건을 하게되면 예) 검색, 게시판 클릭 등등
server로 신호를 보내게 됩니다 (get, post중 post를 기준으로 하겠습니다)
 
 
소스로 보자면 (js)
var select_option
    $.post('/best_select_option', function (data) {
        select_option = data.sending;
    });
 
post로 /best_select_option 신호를 server쪽에 주게 됩니다. 이것을 요청 이라고 하겠습니다.
그럼 server쪽에서는  /best_select_option를 받으면  best_select_option() 함수를 동작하게 정의했습니다.
 
 
 
 
server 소스
exports.best_select_option = function (req, res) {
    var sending = [];
    var obj = {sending: sending};
    var notdata={notdata:'none'};
    sending.push(notdata)
    res.send(200, obj);
};
req는 요청인데 따로 변수값을 주면서 요청을 안했으므로 응답(res)만 사용하겠습니다
    var notdata={notdata:'none'}; 를 정의하고  정의한 값을 sending 에 넣었습니다.
그리고 마지막에     res.send(200, obj); <-- 응답을 해줬습니다.
 
 
 
응답을 해주었기 때문에 js에선 그것을 받아야 합니다. 다시 js로 돌아가면
    $.post('/best_select_option', function (data) {
        select_option = data.sending;      <---- 이부분이 응답을 받는 부분입니다.
       alert("응답을 받았습니다. 다음 동작을 수행할수 있습니다.")
    });
이렇게 응답을 select_option 변수안에 넣고 이것을 가지고 view로 뿌릴건지 혹은 조립을 할지는 개발자 마음대로 주무를수 있습니다.
근데 여기서 궁금한점이 있습니다. 바로 js에서 신호를 주는것이 아니라 html에서 <form>으로 줄때 입니다.
 
 
간단한 html 예제로 본다면
캡처.JPG
<form method="post" action="/best_select_option">
<button type="submit"></button>
</form>
 
 
이렇게 하면 위에 js와 다를것 없이 똑같은 신호를 주게 됩니다.
근데 여기서!! js에선          select_option = data.sending;   이렇게 응답을 받을순 있지만
html 에 <form>으로 보냈기 때문에 응답을 어떻게하면 받을지 고민이 됩니다.
원래 html에서 form은 요청만 할뿐이지 응답은 받을수 없는 것일까요?
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호