我正在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, '¶m2=', param2)
updateQueryString(string, mode = 'push')
})
}
# Run app.
shinyApp(ui, server)
答案 0 :(得分:0)
原来这个问题不是我想的那样,在其他地方张贴链接已转换为&amp;到HTML&符号,使查询字符串无效并导致应用程序失败。