在许多情况下,您将需要将数据从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