2017-05-24 18 views
0

エクスプレス(nodejs)サーバーにajaxポストデータを使用すると、サーバー側にコールバック機能があり、DBアクセスが完了し、クライアントajaxに応答しました。 。 しかし、サーバーコールバック関数が完了する前に、ajax .failが発生します。タイムアウト10000を設定しようとしましたが、ajax .failは常に直接起動します。サーバーの応答の前にajaxが終了または失敗しました

サーバー:エクスプレス(Node.jsの) クライアント:jQueryの(3.2.1)アヤックス

Ajaxコードによってポスト:

$('#createNewGroup').click(function() { 
     $('#loading').show(); 

     $.ajax({ 
      url: 'list_live_createNewGroup', 
      type: 'POST', 
      cache: false, 
      data: { groupname: $('#groupname').val(), 
        groupdesc: $('#groupdesc').val(), 
        grouplocation: $('#grouplocation').val(), 
        accountname: $('#accountname').val(), 
        accountid: $('#accountid').val(), 
        bankname: $('#bankname').val() }}) 
     .done(function(data) { 

      $('#loading').hide(); 

      window.location.hash = '#mygroups'; 
      window.location.reload(true); 
     }) 
     .always(function(data) { 

     }) 
     .fail(function(data) { 
      $('#loading').hide(); 

      var response = JSON.parse(data["responseText"]); 
      alert(response["msg"]); 

      window.location.href = "list#creategroup"; 

     }); 
    }); 

サーバー側のコード:

router.post('/list_live_createNewGroup', tools.checkUserLogin, function(request, response) { 
    var currentUser = new Parse.User(); 
    currentUser.id = request.session.user; 

    ....... 

    newUserGroup.save(null, { 
     success: function(newUserGroup) { 

      response.json(true); 
     }, 
     error: function(newUserGroup, error) { 
      response.json(true); 
     } 
    }); 



}); 
+0

'tools.checkUserLogin'が何らかの応答を返している可能性があります。 –

+0

tools.checkUserLoginを削除しましたが、それでも同じです。 –

答えて

0

後いくつかの変更を行う、私は本当の問題を把握する。 JQueryを使ってButtonを制御し、サーバー側に情報を投稿します。しかし、私のHTMLの書き込み

<input type="submit" id="createNewGroup"> 

入力タイプ "提出"は、他のことを行うためにJQueryを混同します。したがって、入力タイプをボタンに変更したので、問題は解決されました。

関連する問題