向 Shiny

问题描述

我看到很多人问过这个问题的各种版本,但我没有找到明确的答案。

我想向 R Shiny 应用程序发送 POST 请求,以便在收到请求后,Shiny 应用程序可以呈现请求正文中的数据。例如,考虑这样一个用例,我编写了某种特殊的 analyzeData(data) R 函数,有人会在他们的笔记本电脑上本地运行该函数。在该函数中将是一个 httr::POST 请求,它将数据上传到 Shiny 服务器,然后用户将打开浏览器弹出窗口并看到显示他们在服务器上分析的数据的 UI。从某种意义上说,它有点像“上传数据”按钮的花哨版本,但它们不是从 Shiny UI 中上传数据,而是在 UI 通过函数请求打开之前完成上传

所以流程是:

  1. 用户运行 analyzeData(data) 函数
  2. 函数向 Shiny 服务器发出 POST 请求以发送数据
  3. 浏览器会为该用户打开,以便他们查看 Shiny 分析的结果。

据我所知,Shiny 不能以这种方式接受 POST 请求。事实上,我不确定除了通过 UI 之外,Shiny 还有什么方法可以接受数据。这几乎就像我想让 Plumber 和 Shiny 在同一台机器上运行(Plumber 接受数据 POST 请求,Shiny 然后呈现结果 UI),但这感觉像是过度设计。

我错过了什么吗?有没有办法让这个流程与 Shiny 直接接受 POST 请求一起工作?

解决方法

我目前没有足够的声誉来发表评论,所以这就是我将其发布为答案的原因。在您展示的场景中,您希望闪亮的应用程序在调用分析数据() 后运行,对吗?如果我理解正确,那么您就可以创建一个函数来使用analyzeData() 并启动您闪亮的应用程序。 Here 是一篇创建 Shiny App 作为可能有用的功能的文章。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...