如何在OpenCPU中使用CORS

时间:2014-05-19 09:38:33

标签: r opencpu

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

我正在尝试使用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>

祝你好运

1 个答案:

答案 0 :(得分: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>

它应该可以正常工作(它对我有用)。