2009-09-02 6 views
2

나는 AJAX 요청으로 자바 스크립트 변수를 업데이트해야하는 FusionCharts 프로젝트에서 작업하고 있습니다. FusionChart는 아래 보이는 것처럼 chart1.setDataXML() 태그 내의 XML로 채워집니다.AJAX로 자바 스크립트 업데이트하기

<div id="barGraph"> 
     Bar Graph 
    </div> 
    <script language="JavaScript"> 
     var chart1= new FusionCharts("/charts/Column3D.swf", "barGraph", "600", "400", "0", "1"); 
     chart1.setDataXML("<chart caption='Monthly Unit Sales' xAxisName='Month' yAxisName='Units' showValues='0' decimals='0' formatNumberScale='0'><set label='Jan' value='462'/><set label='Feb' value='857'/><set label='Mar' value='671'/><set label='Apr' value='494'/><set label='May' value='761'/><set label='Jun' value='960'/><set label='Jul' value='629'/><set label='Aug' value='622'/><set label='Sep' value='376'/><set label='Oct' value='494'/><set label='Nov' value='760'/><set label='Dec' value='960'/></chart>"); 
     chart1.render("barGraph"); 
    </script> 

내가 말했듯이, 나는 그 스크립트 내에서 AJAX 요청으로 XML을 업데이트해야합니다. 내가 차트를 업데이트하는 기능을 만들었습니다,하지만 난 놀이로 AJAX를 가지고하는 방법을 알아낼 수 없습니다 ... 여기 내 기능

<script type="text/javascript"> 
    function updateChart(domId){ 
     var response= "<chart></chart>" 
     var chartObj = getChartFromId("barGraph"); 
     chartObj.setDataXML(response); 
    } 
    </script> 

의 내 AJAX 요청이 '응답을 업데이트 할 수있는 방법이 있습니까 '변수?

답변

2

뭔가 :

new Ajax.Request('/your_remote_script.php', { 
    method: 'get', 
    onSuccess: function(transport) { 
    var your_var = transport.responseText; 
    updateChart(your_var); 
    } 
}); 
+0

감사, 그것을했다. – ryan

0

예. XMLHttpRequest 객체를 사용하여 요청을 보내고 XMLHttpRequest.response를 자신의 응답 변수로 읽으십시오. 이 작업을 수행하는 방법에 대한

아주 좋은 튜토리얼 : http://www.w3schools.com/Ajax/Default.Asp

1

난 당신이 아약스 호출을하거나 컨트롤러에서 응답 도움이 필요하면 확실하지 않다, 나는 컨트롤러를 설명 할게 측면.

def update_chart 
    new_something = params[:sent_value] 
    render :update do |page| 
    page.call 'updateChart', new_something 
    end 
end 

렌더링 : 컨트롤러에서

는 동작을 업데이트 페이지에서 실행 얻을 것이다 자바 스크립트를 반환합니다.

Page.call은 첫 번째 인수에 주어진 함수를 실행하고 .call에 나머지 인수를 javascript 함수의 인수로 전달합니다. 같은