0

您好,我已经安装了 FastRWeb、Rserve 和 gWidgetsWWW2 软件包并按照说明进行操作。在我的 Linux (Ubuntu 10.04.3) 上使用 Apache Web 服务器的各个站点上。

我已经加载了 test.R 应用程序,当我转到 URL 时

//localhost/cgi-bin/R/app?app=test 如下 github 站点

https://github.com/jverzani/gWidgetsWWW2/tree/master/inst/FastRWeb

我可以在我的浏览器中看到该应用程序。当我单击“单击查看消息”按钮时,没有任何反应。我可以检查我的浏览器上的元素,并在执行 runHandler.R 函数时看到错误。我看到的错误是:

rawToChar(request$body) 中的错误:找不到对象“请求”

当我查看标题时,我看到 POST 正在传递请求,但 R 没有将其视为对象?

Request URL:http://localhost/cgi-bin/R/gwappAJAX/runHandler
Request Method:POST
Status Code:200 OK
Request Headersview source
Accept:*/*
Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-US,en;q=0.8
Connection:keep-alive
Content-Length:77
Content-Type:application/json
Host:localhost
Origin:http://localhost
Referer:http://localhost/cgi-bin/R/app?app=test
User-Agent:Mozilla/5.0 (Windows NT 6.1) AppleWebKit/536.11 (KHTML, like Gecko)                     Chrome/myIP Safari/536.11
X-Requested-With:XMLHttpRequest
Request Payload
{"id":"ogWidget_ID3","signal":"click","value":null,"session_id":"0BJS1QKLM9"}
Response Headersview source
Connection:Keep-Alive
Content-Encoding:gzip
Content-Length:78
Content-Type:text/html; charset=utf-8
Date:Thu, 12 Jul 2012 17:17:50 GMT
Keep-Alive:timeout=15, max=96
Server:Apache/2.2.14 (Ubuntu)
Vary:Accept-Encoding

在设置中错过了什么吗?为什么我的 R 会话没有看到请求对象?

4

1 回答 1

0

你最好在 Rook 下运行这样的脚本,FastRWeb 设置的响应性要差得多。我发现在本地端口(如 9000)上运行 Rook 并使用 apache 反向代理到该端口可以正常工作,尽管它不能像 FastRWeb 解决方案那样扩展。

话虽如此,它是否在 Rook through 本地运行load_app?如果是这样,那么可能是较新的 FastRWeb + RServe 无法正常工作。自从西蒙更新了他的工作后,我还没有测试过这个。我希望今年夏天能做到这一点。使用 websockets 与 R 通信的承诺应该绕过这个响应问题。

于 2012-07-12T23:48:57.077 回答