2017-02-15 5 views
0

フロントエンドのejsページで、このようなajaxSubmitハンドラ関数があります。クライアントのajaxSubmitHandlerへの返却を防止する

$('#submitDetails').submit(function() { 
    $(this).ajaxSubmit({ 
     error: function(xhr) { 
     alert('Error: ' + xhr.status); 
     }, 
    success: function(response) { 

     if (response.responseCode == 1) { 
     alert("There is an error. Please try again!"); 
     } else { 
     //do nothing 
     } 
    } 
    }); 
    }; 

サーバー側では、getとpostメソッドを持つnodejsルーティングモジュールがあります。上記の送信ボタンをクリックすると、私は投稿 ルートを呼び出しています。下記のように

アプリケーションがサーバーの問題なしで動作する場合、elseブロックのみが実行されます。ご覧のように、elseブロック内に他のページをレンダリングしたいのですが、res.jsonをajaxSubmitハンドラに返すことは望ましくありません。それが私に許されていません。 res.renderが表示されるとすぐに、そのsubmitHandler関数に戻ります。これを防ぐ方法はありますか?

答えて

0

私はajaxSubmitハンドラを完全に取り除きました。私はサーバコード自体の中でサーバレスポンスをキャプチャしています。フロントエンドでは、私のフォームを送信するためにajaxSubmitの代わりにsubmitHandlerを使用しています。以下のように

$('#submitButtton').validate({ 
       submitHandler: function (form, event) { 
        //event.preventDefault(); 
        //return false; 
        form.submit(); 
       } 
関連する問題