2012-09-12 5 views
0

mvc에서 jquery를 사용하여 간단한 아약스를 구현하려고합니다. 난 그냥 현재 페이지의 다른 페이지에서 일부 내용을로드하려고 해요. 내 코드는 다음과 같습니다된다jquery로 간단한 아약스 구현에 어려움을 겪고 있습니다.

<div> 
    <ul id="biographies"> 
    <li> <a href="Ajax">Ajax</a></li> 
    <li> <a href="Index">Index</a> </li> 

    </ul>  

    <div id="biography"> 
     The ajax content will appear here... 
    </div> 

    <script type="text/javascript"> 
     $('#biographies html.ActionLink').click(function (e) { 
      var url = $(this).attr('href'); 
      $('#biography').load(url); 
      e.preventDefault(); 
     }); 
    </script> 

</div> 

그러나 다음과 같은 몇 가지 문제가 : 내가보기에서 홈 폴더에 ajax.cshtml 파일을 보관하면

  1. , 그 표시 내용을 찾을 수없는, 내가 필요 간단한 앵커 태그를 사용하지 않고 mvc에서 내부 리소스를 html.actionlink 메소드와 링크시키는 법을 아는 것.

  2. 루트 디렉토리에 ajax.cshtml 파일을 보관하면 첫 페이지에 내용을로드하는 대신 해당 페이지로 이동하는 것으로 예상됩니다.

도와주세요. 미리 감사드립니다.

+0

이동을 교체 이 페이지는 비동기 적으로 호출하여 내용을로드하지 않습니다. $ .ajax를 사용하여 순수 아약스 호출을하는 것이 좋습니다. http://api.jquery.com/jQuery.ajax 그리고 컨트롤러 동작에서 Json 형식으로 데이터를 반환하는 JsonResult를 사용할 수 있습니다. asp.net mvc에서 json ('your data')을 사용하여 json으로 데이터를 전송할 수 있습니다. –

답변

0

당신이로드되기 때문에,

$ ('#의 전기의 html.ActionLink')

$ ('# 전기의 A') 해당 페이지에 대한

+0

id가 유일하기 때문에 왜'$ ('# biographies')가 아닌가? –

+0

코드에서 앵커 태그에서 href 속성을 사용하고 있음을 이해합니다. 선택자는 #biographies가 아닌 앵커 태그 목록이어야합니다. 따라서 #biographies 아래에 모든 앵커 태그를 가져와야합니다. 즉, $ ('# biographies a') –

+0

작동하지 않았습니까? 첫 번째 문제는 서버 오류를 표시하는 것입니다. 리소스를 찾을 수 없습니다. 하이퍼 링크 코드에 문제가 있습니까? 내보기 파일은 평소대로 유지됩니다. 보기> 홈> 아약스. –

관련 문제