2016-09-02 19 views
0

ボタンをクリックしてAjax関数を呼び出してコントローラアクションにポストするのは苦労しています。簡単なメッセージを出すことさえできません(ボタンをクリックすると何も起こりません)。明らかに、私は何か基本的なことを見逃している。それは何ですか?MVC Razor Ajaxコールからボタンクリック

私のカミソリの形でのAjaxスクリプト:

<script type="text/javascript"> 
    $('#UseShipAddr').click(function() { 
     $.ajax({ 
      url: "@(Url.Action("UseShippingAddress", "Checkout"))", 
      type: "POST", 
      data: { id: 50 }, 
      cache: false, 
      async: true, 
      success: function (data) { 
       alert(data); 
      } 
     }); 
    }); 
</script> 

私はAjaxの機能を呼び出すために使用したいボタンを:

<input type="button" value="Use Shipping Address" id="UseShipAddr" /> 

CheckoutControllerでのアクション:

// Ajax POST: /Checkout/UseShippingAddress/5 
     [HttpPost] 
     public ActionResult UseShippingAddress(int id) 
     {    
      return Content("It worked!"); 
     } 
+0

コードは正常です。 jsコードが期待どおりに動作しない原因となるjsエラーがないかブラウザのコンソールで確認してください。 – Shyju

+0

model-view-controllerタグは、パターンに関する質問用です。 ASP.NET-MVCの実装には特定のタグがあります。 –

+0

jqueryがロードされていますか?スクリプトはページの最下部にあるか、 '$(document).ready()'で囲まれていますか? –

答えて

1

このコードを試してください。

$(document).ready(function(){ 

    $('#UseShipAddr').click(function() { 

     $.ajax({ 
      url: "Checkout/UseShippingAddress", 
      type: "POST", 
      data: { id: 50 }, 
      cache: false, 
      async: true, 
      success: function (data) { 
      alert(data); 
     } 
    }); 
}); 
+0

ドキュメントの準備ができました。ありがとうございます。 – GPaw