R闪亮服务器与url参数断开连接

时间:2018-03-20 13:35:29

标签: r shiny shiny-server

我正在AWS上运行一个闪亮的服务器,并尝试从用户输入设置url查询参数,并允许将URL转发给其他人。下面的简化示例用于从复选框和滑块输入中检索值,并在单击提交按钮时将它们推送到url字符串,例如?URL:端口参数1 = 1,2,3,4及安培; param2的= 0100

我最初也可以直接转到url:port?param1 = 1,2,3,4& param2 = 0,100(模拟用户将url转发给其他人),但是,一旦过了一段时间,此链接将返回"与服务器断开连接"服务器灰屏,日志状态"获取工作人员时出错:错误:初始化期间退出应用程序。"。

服务器似乎在睡觉,只有在我第一次访问基本网址时才会恢复,之后,请访问包含参数的网址。有没有办法以这种方式分享网址并绕过首先需要访问基本网址?

# Load required libraries.
library(shiny)

# Shiny ui.
ui <- shinyUI(
  fillPage(

    # Add filter controls.
    absolutePanel(
       style='overflow-y:scroll; border-bottom: 1px solid #CCC; padding: 10px; background: #F5F5F5;',
       fixed = TRUE,
       draggable = FALSE, 
       top = 0,
       right = 0,
       bottom=0,
       left=0,
       width = '100%',
       actionButton('submit', 'Submit'),
       checkboxGroupInput('input1', 'Input 1', c(1,2,3,4), c(1,2,3,4)),
       sliderInput('input2', 'Input 2', min=0, max=100, value=c(0,100), step=10),
       verbatimTextOutput("output1", TRUE),
       verbatimTextOutput("output2", TRUE)
    )
  )
)

# Shiny server.
server <- function(input, output, session){

  # Observer to read url query string.
  observe({
    query <- parseQueryString(session$clientData$url_search)
    param1 <- query$param1
    param2 <- query$param2
    output$output1 <- renderText(as.character(param1))
    output$output2 <- renderText(as.character(param2))
  })

  # Observer for button click.
  observeEvent(input$submit, {
    param1 <- paste(input$input1, collapse=',')
    param2 <- paste(input$input2, collapse=',')
    string <- paste0('?param1=', param1, '&param2=', param2)
    updateQueryString(string, mode = 'push')
  })
}

# Run app.
shinyApp(ui, server)

1 个答案:

答案 0 :(得分:0)

原来这个问题不是我想的那样,在其他地方张贴链接已转换为&amp;到HTML&符号,使查询字符串无效并导致应用程序失败。