從客戶端向伺服器傳送資料

在某些情況下,你需要將資料從 JS 客戶端傳送到 R 伺服器。這是使用 javascript 的 Shiny.onInputChange 函式的基本示例:

library(shiny)
runApp(
  list(
    ui = fluidPage(
      # create password input
      HTML('<input type="password" id="passwordInput">'),
      # use jquery to write function that sends value to
      # server when changed
      tags$script(
        '$("#passwordInput").on("change",function() {
          Shiny.onInputChange("myInput",this.value);
        })'
      ),
      # show password
      verbatimTextOutput("test")
    ),
    server = function(input, output, session) {
      # read in then show password
      output$test <- renderPrint(
        input$myInput
      )
    }
  )
)

在這裡,我們建立一個 id 為 passwordInput 的密碼輸入。我們在 UI 上新增了一個 Javascript 函式,它響應 passwordInput 中的更改,並使用 Shiny.onInputChange 將值傳送到伺服器。

Shiny.onInputChange 有兩個引數,input$*name*的名稱,加上 input$*name*的值

然後你可以像任何其他 Shiny 輸入一樣使用 input$*name*