我正在使用RA環境使用R環境的Web應用程序。我使用AJAX.updater函數向R腳本發送了幾個變量,然後返回給瀏覽器一個ResponseText來顯示。這沒有問題,但現在我希望將變量發送給繪製圖形的R腳本,然後我想將圖像返回給瀏覽器。我想發送變量到R然後R發送圖像到瀏覽器
我能夠用R與腳本,例如在瀏覽器中顯示繪製圖像:
<% setContentType("image/png")
t <- tempfile()
load(file="/var/www/oraculo/brew/ICER")
png(t, width=3.25, height=3.25, units="in", res=1200, pointsize=4)
plot(G,vertex.size=1,vertex.label=NA)
dev.off()
sendBin(**readBin**(t,'raw',n=file.info(t)$size))
unlink(t)
DONE
%>
併發送一個變量,並返回文本字符串的其他腳本:
new Ajax.Updater('numFermin', '../brew/shortestPath.rhtml',
{
'method': 'GET',
'parameters': {'autini': autini, 'autfin':centro, 'XarXaj': red},
'onSuccess': function(transport) {
txtRespuesta = transport.responseText;
if (txtRespuesta.lastIndexOf("Error")==-1){
var rutaMin = transport.**responseText**;
var accion = "";
var url = "index.src.php?accion=obtener&rutaMin="+rutaMin+"&numF=1";
document.getElementById("oculto1").src=url;
}else{
...
使用RApache的GET變量,我可以在R腳本中使用'autini'。
一個可行的解決方案是將圖像保存在文件中,但我不太喜歡它。 有一些方法可以將位流「讀取」放入「responseText」,然後在php中構建圖像?我應該使用AJAX的極好功能?
感謝您的時間!
也許你應該看'閃亮'? – juba