2013-09-06 4 views
0

저는 매우 초보자 인 mvcajax입니다.mvc에서 ajax를 사용하는 방법?

그물에 많은 예제를 시도했지만 실제로 아약스가 실제로 사용되는 방법을 이해하지 못합니까?

컨트롤러가 members인데, 컨트롤러는 GetAllMembers입니다. GetAllMembers 반환 List<Members>

지금 내가 좋아하는 JQuery와 및 아약스 뭔가 사용하려는 :

$(document).click(function() { 
     $.ajax({ 
      url: "Members/GetAllMembers", 
      success: function() { 

      }, 
      error: function() { 
       alert("Failed to get the members"); 
      } 
     }); 
    }); 

내 URL 권리인가?

성공시 List를 ListBox에 표시하려고합니다. 어떻게받을 수 있습니까? 누군가 나에게 시작을 줄 수 있습니까?

+0

확실히 Google 검색은 MVC 앱에 jQuery로 ajax 호출을 수행하는 방법에 대한 좋은 예를 제공 할 수 있습니다. URL은 "/ Members/GetAllMembers"여야합니다. 그리고 이걸 $ (document) .click에서 실제로 원하니? – Rob

+0

미안 해요, $ (document) .load에 원하고 GetAllMembers()에 전달할 매개 변수가 있습니다. 그래서, 그 매개 변수를 URL에 전달할 수 있습니까? – Khushi

+0

컨트롤러 방법을 게시 할 수 있습니까? –

답변

1
$.ajax({ 
       type: "POST", 
       url: "Members/GetAllMembers", //Your required php page 
       data: "id="+ data, //pass your required data here 
       success: function(response){ //You obtain the response that you echo from your controller 
        $('#Listbox').html(response); //The response is being printed inside the Listbox div that should have in your html page. 
       }, 
       error: function() { 
        alert("Failed to get the members"); 
       } 
      }); 

희망 ... :)

<p>List Box - Single Select<br> 
<select id="listBox" name="listbox"> 

</select> 
</p> 

그래서 우리가이 JS :

var template = '<option value="$value">$name</option>'; 

var getAllMembers = function() { 
$.ajax({ 
url: 'Members/GetAllMembers', 
dataType: 'json', //Assuming Members/GetAllMembers returns a json 
success: function(response) { 
    $.each(response, function(index){ 
    var option = template.replace(/\$value/g, this.value) 
         .replace(/\$name/g, this.name); 
    $('#listBox').append(option); 
    }); 
} 
}); 
}; 

EDIT : 이제 getAllMembers(); 기능 만 호출하면됩니다.

희망 도움말.

파블로.

+0

코드에서'response'를 이해하지 못합니다. '응답'의 가치는 어디에서 어떻게 얻을 수 있습니까? – Khushi

+1

목록 상자에 제품 이름을 말하고 싶다면 먼저 제품 ID를 컨트롤러 기능에 전달해야합니다. ID는 $ _POST [ 'id']를 사용하여 식별 할 수 있습니다. 그런 다음 제품 이름을 기반으로 제품 이름을 찾을 수 있습니다 이 id에.이 제품 이름을 얻으면 반환 값과 비슷한 컨트롤러에서 반향됩니다.이 반환 값은 컨트롤러에서 가져 오는 응답입니다. – Outlooker

+0

당신의 제안을 다음과 같이 코드를 시도 :'$ (document) .click (function() { $.AJAX ({ 형 "POST" URL "/ 회원/ListOfAllOppositeTypeUsersWithTheirRespectiveData" 데이터 "LoggedInUserOppositeType ="+ 2 성공 : 함수 (대응) { 경보 ("S"); } 오류 : function() { 경고 ("F"); } }); });'나는 항상 F를 얻습니다. 실수는 무엇입니까? – Khushi

1
$(document).click(function() { 
      $.ajax({ 
       url: "Members/GetAllMembers", 
       success: function (result) { 
    // do your code here 
       }, 
       error: function() { 
        alert("Failed to get the members"); 
       } 
      }); 
     }); 

귀하의 요청은 "결과"변수에 응답을 제공합니다. 따라서 루프의 foreach 루프에서 결과 변수 값을 쉽게 관리하고 ListBox HTML에서 값을 설정해야합니다.

당신이 HTML이 있다고 가정 :

+0

'result'를 이해하지 못합니다. – Khushi

+0

결과 변수에 GetAllMembers 함수의 반환 값이 들어 있습니다. 문자열 변수에있는 모든 멤버 값을 바인딩하고이 변수를 ajax 함수로 반환해야합니다. 따라서 자동으로 결과에는이 값이 포함되고 이후에는 foreach 루프에서 해당 값을 관리해야합니다. –

1

이 예제를 따라이 당신을 도울 것입니다

관련 문제