2

我刚刚发现了这个很棒的项目,叫做 OpenCPU。我目前正在尝试学习如何使用 CORS 将 R 集成到 Web 应用程序中。为此,我正在复制一个简单的示例,但直到现在我都没有成功。

我正在尝试使用 stock 包中的 smoothplot 函数并将其集成到外部网页(https://github.com/opencpu/stocks)中。我已经查看了 OpenCPU 网页上的示例和 jsfiddle 上的示例,但没有弄清楚我做错了什么。

调用 smootplot 函数时,谁能指出我的错误方向?还是我完全错过了什么?

我的html和脚本如下

<!DOCTYPE html>
<html lang="en">
<head>
<title>OpenCPU demo app</title>

<meta http-equiv="content-type" content="text/html; charset=UTF-8">

<!-- ocpu library -->
<script src="//code.jquery.com/jquery-1.10.2.min.js"> </script>
<script src="//public.opencpu.org/js/opencpu-0.4.js"> </script>

<style>
#plotdiv {
    height: 400px;
    border: solid gray 1px;
}
</style>
</head>

<body>

<h1>Call R to download data for a specified stock ticket and plotting it</h1>

<b>Ticker</b> <input type="text" value="GOOG" id="ticker">

<button id="submitbutton" type="button">Submit to server!</button> <br><br>

<div id="plotdiv"></div>    

<!-- input and recieve output specified using jquery, and RESTful software architectur-->
<script type='text/javascript'>
// location of R function on openCPU server
ocpu.seturl("//public.opencpu.org/ocpu/library/stocks/R")

//call R function: stocks::smoothplot(ticker=ticker)
$("#submitbutton").click(function(){
    var ticker = $("#ticker").val();    
    var req = $("#plotdiv").rplot("smoothplot", {
        ticker : ticker,
        from : "2013-01-01"
    });

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

</body>
</html>

此致

4

1 回答 1

0

正如@Jeroen 指出的那样,改变你的

<script src="//public.opencpu.org/js/opencpu-0.4.js"> </script>

<script src="//public.opencpu.org/js/archive/opencpu-0.4.js"> </script>

它应该工作得很好(它对我有用)。

于 2014-05-20T05:19:13.260 回答