2016-09-02 4 views
0

Ajax 기능을 호출하기 위해 버튼을 클릭하는 데 어려움을 겪고 있습니다. 그러면 Ajax 기능이 컨트롤러 작업에 게시됩니다. 간단한 메시지가 작동하지 않습니다 (버튼을 클릭해도 아무런 반응이 없습니다). 분명히, 나는 근본적인 무언가를 놓치고 있습니다. 이게 뭐야?MVC Razor 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> 

나는 아약스 기능을 호출하는 데 사용할 버튼 :

<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