2014-03-18 40 views
1

我創建了一個R函數,它產生一個帶有rCharts的數據表。它看起來像這個例子: http://rcharts.io/viewer/?7073104#.Uyi3oa15Peg 而且R函數返回表格return(td2)這應該是一個html元素使用OpenCPU顯示R函數的html返回值

然後我想創建一個JavaScript函數,它在OpenCPU上調用這個R函數並在div中顯示返回的HTML元素。例如使用下面的代碼來顯示另一個函數的返回情節:

$("#submitbutton").click(function(){ 

    ocpu.seturl("http://public.opencpu.org/ocpu/github/.../R") #shortened 
     var key = $("#key").val(); 
     var name = $("#name").val(); 

     var req = $("#plotdiv").rplot("MapInfluencers", { 
      username : name, 
      api_key : key 
     }); 

     //optional 
     req.fail(function(){ 
      alert("R returned an error: " + req.responseText); 
     }); 
    }); 

但現在我要顯示一個HTML元素,但我不能找到在OpenCPU庫,能做到這一點的功能。

+0

是否可以張貼在'jsfiddle'的例子嗎? – Jeroen

+1

當涉及到HTML和OpenCPU時,我編寫一個函數將其保存到文件中,然後將其添加爲dom中iframe的src屬性。 – Ramnath

+0

在這裏看到這個應用程序,使用上面概述的方法。在編輯器中粘貼'dTable(mtcars)'並點擊提交。你會在右側看到一個數據表。 http://rcharts.io/playground/。遊樂場的源代碼是[here](https://github.com/rcharts/rcharts.github.io/blob/master/playground/index.html)。 – Ramnath

回答

0

假設你有一個函數savePlot,它將圖表保存在一個html文件中並返回它的名字。

在你的腳本:

var req = ocpu.call(
"savePlot", { 
    ...... 
}, 
function(session) { 
    session.getObject(function(filename) { 
     var outputlink = session.getLoc() + "files/" + filename; 
     $('#iframe').attr("src", outputlink); 
    }) 
} 
); 

在你的身體:

<iframe id="iframe" width="600" height="300"></iframe>