与会话$ sendCustomMessage的闪亮和JavaScript交互

Man*_*ndi 6 javascript r shiny

如果我session$sendCustomMessage在我的服务器文件中使用该命令并输入三个列表的列表,我如何访问我的message-handler.js文件中的三个不同的东西?

说我的电话看起来像这样:

session$sendCustomMessage(type='testmessage', message=list(pid=pid, cid=cid, query=sql))  
Run Code Online (Sandbox Code Playgroud)

在我的.js文件中,我想单独使用pid,cid和查询,关于我如何做的任何想法?

谢谢!!

jdh*_*son 7

您将以等方式访问它们message.pid, message.cid.列表将作为传递JSON.一个改编自http://shiny.rstudio.com/gallery/server-to-client-custom-messages.html的示例:

library(shiny)
runApp(
  list(ui = fluidPage(
    titlePanel("sendCustomMessage example"),
    fluidRow(
      column(4, wellPanel(
        sliderInput("controller", "Controller:",
                    min = 1, max = 20, value = 15),
        singleton(
          tags$head(tags$script('Shiny.addCustomMessageHandler("testmessage",
  function(message) {
    alert("The b variable is " + message.b);
  }
);'))
        )
      ))
    )
  )
  , server = function(input, output, session){
    observe({
      session$sendCustomMessage(type = 'testmessage',
                                message = list(a = 1, b = 'text',
                                               controller = input$controller))
    })
  })
)
Run Code Online (Sandbox Code Playgroud)