Express JS에서 페이지를 새로 고치지 않고 POST를 사용하여 한 페이지에 여러 양식을 제출하는 방법

ShaunK

ExpressJS에서 응용 프로그램을 개발 중이며 jade 파일에 다음 HTML 코드를 포함 할 계획입니다.

4 개의 양식 버튼이있는 다음 페이지가 있습니다.

<div class="dog">         
        <div class="dog_wrapper clearfix">
        <div class="col-lg-6 col-md-6 col-sm-6 left_sec">
        <div class="panel-heading">LIVE</div>
        <div class="col-md-6 col-sm-6">
        <div class="livefeed-left">
        <form class="button" method="post">
            <input type="hidden" value="DEPLOY" id="fieldID" name="fieldName"/>
            <input type="submit" value="Raise"/>
        </form>
        </div>
        </div>
        <div class="col-md-6 col-sm-6">
        <div class="livefeed-right">
        <form class ="button" method="post">
            <input type="hidden" value="RECOVER" id="fieldID" name="fieldName"/>
            <input type="submit" value="Lower"/>
        </form>
        </div>
        </div>
        </div>

   <div class="col-lg-6 col-md-6 col-sm-6 right_sec">
   <div class="panel-heading" id="sample" style="width: 100%; height:500px">MAP</div>
    <div class="col-md-6 col-sm-6">
    <div class="livefeed-left">
       <form class= "button" action="" method="post">
        <input type="hidden" value="UPLOAD" id="fieldID" name="fieldName"/>
        <input type="hidden" value="" id="lngHolderID" name="lngHolderName"/>
        <input type="hidden" value="" id="latHolderID" name="latHolderName"/>
        <input type="hidden" value="" id="altHolderID" name="altHolderName"/>
        <input type="hidden" value="" id="actHolderID" name="actHolderName"/>
        <input type="hidden" value="" id="actParamHolderID" name="actParamHolderName"/>
        <input type="submit" value="Upload" onclick="compileHolder()"/>
    </form>
</div>

각 버튼은 작업을 게시하지만 사용자가 버튼을 클릭 할 때마다 페이지를 새로 고칩니다. 나는 이것이 jQUERY 또는 AJAX를 통해 제어 할 수 있다는 별도의 게시물을 읽었습니다.

태그 앞에 다음 스크립트를 추가했습니다.

<script type="text/javascript">
  $('.button').on('submit', function (event) {
    event.preventDefault(); // Stop the form from causing a page refresh.
    var data = {
      username: $('#username').val(),
      password: $('#password').val()
    };
    $.ajax({
      url: 'http://localhost/my/url',
      data: data,
      method: 'POST'
    }).then(function (response) {
      // Do stuff with the response, like add it to the page dynamically.
      $('body').append(response);
    }).catch(function (err) {
      console.error(err);
    });
  });
</script>
</body>

</html>

내 질문은 다음 섹션에 대한 것입니다.

 $('upload').on('submit', function (event) {
event.preventDefault(); // Stop the form from causing a page refresh.
var data = {
  username: $('#username').val(),
  password: $('#password').val()
};
$.ajax({
  url: 'http://localhost/my/url',
  data: data,
  method: 'POST'
}).then(function (response)

위의 코드가 작동합니까? 또한 url: 'http://localhost/my/url'실제 jade 파일을 가져옵니다. 예를 들어, dogshow.jade?

질문에 대해 죄송합니다. 나는 이것에 꽤 새롭고 여전히 내 길을 느끼고 있습니다.

Munish Chechi

이것은 작동하지 않습니다. 양식에 지정된 이름으로 모든 양식 데이터를 보내려면 한 줄만 사용하십시오.

var data = $('#upload').serialize();

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관