2012-12-21 2 views
1

나는 벗어나려고하는 바로 그 프로토 타입을 사용하는 웹 사이트를 가지고 있습니다. 이들은 이것을 사용하는 유일한 3 가지 기능입니다.프로토 타입 변환 ajax.updater

나는 jquery의 나의 이해가 그렇게 고투하고있는 isnt 한 중대한 im로서 이것들을 바꾸기 위해 모든 아침 노력하고 있었다.

function GetCountries() {  
    new Ajax.Updater('country_list','site_countries.php', {parameters: '&onchange=1', onComplete: GetRegions}); 
} 


function GetRegions() {  
    new Ajax.Updater('region_list','site_regions.php', {parameters: '&regionID='+$('regionID').value+'&countryID='+$('countryID').value+'&onchange=1', onComplete: GetTowns}); 
} 

function GetTowns() { 
    new Ajax.Updater('town_list','site_towns.php', {parameters: '&regionID='+$('regionID').value+'&countryID='+$('countryID').value}); 
} 

내가 가지고 올 것을이지만 작업 나던 : 전화 그냥 다음을 페이지에 스팬이라고 COUNTRY_LIST 내에서 하나를 대체하는 선택 드롭 다운 목록을 반환

function GetCountries() { 
    $.ajax({ 
    type: "POST", 
    url: "site_countries.php", 
    data: '&onchange=1', 
    success: function(transport){ 
     $('#country_list').html(transport.responseText) 
     GetRegions 
    } 
}); 
} 

페이지를 똑같은 GetRegions를 호출합니다.

도움이 많이 접수 될 것입니다.

스티브

+0

당신이 그것을 제공 오류 내용을 확인 했 : 다음과 같은 것을 시도 ? 파이어 폭스를 사용하는 경우 FireBug를 사용하고 Chrome을 사용하는 경우 개발자 옵션을 얻기 위해 'F12'키만 누르면 콘솔에 어떤 오류가 있는지 확인할 수 있습니다. – Amar

답변

2

당신이 data 필드를 제공하는 방법이 여기에 문제가 될 수있는 가능성이있다.

$.ajax({ 
    type: "POST", 
    url: "site_countries.php", 
    data: {onchange: 1}, 
    success: function(transport){ 
     $('#country_list').html(transport.responseText) 
     GetRegions 
    } 
}); 

또는

function GetCountries() { 
    $("#country_list").load("site_countries.php", {onchange: 1}, function(){ 
     // call your GetRegions() here 
    }); 
} 
+1

+1 "데이터가 개체로 제공되면 POST 메서드가 사용되며, 그렇지 않으면 GET으로 간주됩니다." - 후자의 예는 완벽한 답입니다. – Codesleuth

+0

두 번째 작품은 작동하지만 두 번째 작품은 어떻게하면 더 많은 정보를 전달할 수 있을까요? –

+1

기본적으로'data' 필드는 자체적으로 JSON 요소이므로, 둘 이상의 매개 변수가'parameter1 = value1'과'parameter2 = value2'라고하면'{parameter1 : value1, parameter2 : value2} ' – Amar