shiny 从服务器向客户端发送数据

例子

在许多情况下,您将需要将数据从R服务器发送到JS客户端。这是一个非常简单的示例:

library(shiny)
runApp(
  list(
    ui = fluidPage(
      tags$script(
        "Shiny.addCustomMessageHandler('message', function(params) { alert(params); });"  
      ),
      actionButton("btn","Press Me")
    ),
    server = function(input, output, session) {
      observeEvent(input$btn,{
        randomNumber <- runif(1,0,100)
        session$sendCustomMessage("message",list(paste0(randomNumber," 是一个随机数!")))
      })
    }
  )
)

这里的主要session$sendCustomMessage功能是中的功能R和中的Shiny.addCustomMessageHandler功能javascript。

该session$sendCustomMessage函数使您可以将参数从发送R到javascript函数,并Shiny.addCustomMessageHandler定义javascript从接受参数的函数R。

注意:列表从传递R到时会转换为JSONjavascript