title: DT Editing in Shiny application with client-side processing (server = F) throws JSON Error
body: <p>I have a Shiny Server application in which the user can edit a datatable, after which some reactive summary statistics update accordingly. I am hosting this app on a fairly slow framework, which is why I want to use client-side processing for the DT rendering, i.e. <code>server = F</code> passed to <code>DT::renderDataTable</code>. Let me break down the main points of my problem:</p>
  
  <ul>
  <li><p>The code is fully operational when <code>server = T</code> is passed.</p></li>
  <li><p>When passing <code>server = F</code>, the browser throws the following error message when the user edits a cell in the DT:</p></li>
  </ul>
  
  <blockquote>
    <p>DataTables warning: table id=DataTables_Table_5 - Invalid JSON
    response. For more information about this error, please see
    <a href="http://datatables.net/tn/1" rel="nofollow noreferrer">http://datatables.net/tn/1</a></p>
  </blockquote>
  
  <p>An interesting thing is that when this error window is dismissed, <strong>the dependent summary statistics update correctly according to the edit, and the Shiny app carries on</strong>. Hence, everything works except for the error. I should note that I visited the site referred to in the error without becoming any wiser.</p>
  
  <p>Reproducible example below:</p>
  
  <pre><code>library(shiny)
  library(DT)
  
  dt = data.frame(V1 = c(1,2), V2 = c(3,4))
  
  server &lt;- function(input, output, session) {
  
  val = reactiveValues(mat = data.table(dt))
  
  output$testDT = renderDataTable({
              DT::datatable(val$mat, editable = TRUE)
  }, server = FALSE)
  
  proxy = dataTableProxy('testDT')
  
  observeEvent(input$testDT_cell_edit, {
  
    info = input$testDT_cell_edit
  
    str(info)
  
    i = info$row
    j = info$col
    v = info$val
  
    if (j == 1){
  
    val$mat$V1[i] = DT::coerceValue(v, val$mat$V1[i])
    replaceData(proxy, val$mat, rownames = FALSE)
  
    }
  
  })
  
  
  }
  
  ui &lt;- fluidPage(
    dataTableOutput('testDT') 
  )
  
  shinyApp(ui, server)
  </code></pre>
  
  <p>Thanks!</p>