2017-01-02 12 views
0

jQueryの.submitイベントリスナーを使用してアクションから返される値を取得する方法はありますか? アクションが完了してJSONファイルが返され、ブラウザが空のページに移動して返されたJSONだけを表示するという問題があります。私はそれが起こることを望んでいない、私はJSONの結果を読み取ることができ、それに基づいて何をすべきかを決定したい。ここでASP.NET MVCフォームで送信しますか?

は私のPOCです: ビュー:

@using (Html.BeginForm("SubmitTest", "DMS", FormMethod.Post, htmlAttributes: new { id = "formId" })) 
     { 
      <input type="submit" value="Sumbit" /> 
     }  

コントローラー:

public JsonResult SubmitTest() 
     { 
      return Json("Done"); 
     } 

スクリプト:

$(document).ready(function() { 
     $("formId").submit(function() { 
      alert("Submitted"); 
     }); 
    }); 

答えて

0

ではなくHTMLフォームのAJAX形、あなたができるこの方法を使用しますそれが提出された後の応答をチェックし、 OnSuccessハンドラを使用します。詳細な情報については

は、あなたが発生してから、デフォルトのイベントを防ぐためにevent.preventDefaultまたはreturn falseを追加することができ、このarticle

1

を参照してください。空のページには移動しません。

$(document).ready(function() { 
     $("formId").submit(function() { 
      alert("Submitted"); 
      return false; 
     }); 
    }); 

EDIT: あなたは、AJAXリクエストを作成し、フィールドからフォームデータを取得する必要があります応答を取得したい場合。 submit機能で応答を取得することはできません。

$(document).ready(function() { 
     $("formId").submit(function() { 
      /// make an AJAX request 
      $.post(
$(this).attr('action'), //// action url 
$(this).serialize(), //// serialize form fields 
function(json) { 
     alert(json);/// json response 
    }, 'json'); 

      return false; /// prevent navigation 
     }); 
    }); 
+0

フォームをサーバーに送信できませんか? –

+0

@ Tha'erAl-Ajlouniいいえ、それはしません。フォームを送信してもナビゲーションはできません – esiprogrammer

+0

しかし、受信したJSONをどのように読み取ることができますか? – user3159792

関連する問題