R 在应用程序中重定向
我正在尝试使我的闪亮应用程序将用户重定向到另一个页面。我正在使用R 在应用程序中重定向,r,redirect,shiny,httr,R,Redirect,Shiny,Httr,我正在尝试使我的闪亮应用程序将用户重定向到另一个页面。我正在使用httr发送GET请求,查看用户是否登录。如果他没有,我想把他转到另一个链接 我可以只使用R/shinny吗,或者我需要一些额外的库吗 样本: library(httr) library(shiny) shinyServer(function(input, output) { rv <- reactiveValues() rv$mytoken = session$request$token observeEvent(inpu
httr
发送GET
请求,查看用户是否登录。如果他没有,我想把他转到另一个链接
我可以只使用R/shinny吗,或者我需要一些额外的库吗
样本:
library(httr)
library(shiny)
shinyServer(function(input, output) {
rv <- reactiveValues()
rv$mytoken = session$request$token
observeEvent(input$button1, {
rv$a <- GET("my.url:3405/authtoken",
add_headers(
.headers = c("token" = rv$mytoken)
))
if (rv$a$status_code == 200) {
} else {
# redirect magic
}
})
}
shinyUI(fluidPage(
actionButton(button1, "btn")
))
库(httr)
图书馆(闪亮)
shinyServer(功能(输入、输出){
rv如果不是true
library(shiny)
jscode <- "Shiny.addCustomMessageHandler('mymessage', function(message) {window.location = 'http://www.google.com';});"
ui <- fluidPage(
tags$head(tags$script(jscode)),
checkboxInput("Redirect","Redirect",value = T)
)
server <- function(input, output, session) {
observeEvent(input$Redirect,{
if(!input$Redirect){
session$sendCustomMessage("mymessage", "mymessage")
}
})
}
shinyApp(ui,server)
库(闪亮)
jscode您可以提供带有用户名和密码的示例代码吗?它以不同的方式工作:我在session$request
环境中有auth令牌,我用GET
检查服务器上是否相同。因此,我根据收到的响应状态代码重定向用户。如果需要,我将提供一些代码,您仍然可以提供没有它的示例应用程序,所以当false
那么重定向就足够了?与往常一样,您可以使它正常工作:)我一直在寻找的东西,谢谢!似乎你“强迫”它重定向用户。shiny默认情况下不支持这种行为吗?在ui
中可以很容易地绑定按钮和链接,但你需要将其从服务器发送回重定向,shiny
团队添加了sendCustomMessage
>这是非常有用的。所以只要浏览一下,你会很快找到它。看一看粘贴
是的,是的,我很糟糕,我现在就处理它。再次感谢。我只是用window.top.location.href
而不是window.location
,效果很好。祝你平安!