使用客户端处理(服务器 = F)在 Shiny 应用程序中进行 DT 编辑会引发 JSON 错误

2024-02-23

我有一个闪亮的服务器应用程序,用户可以在其中编辑数据表,然后一些反应性摘要统计信息会相应更新。我在一个相当慢的框架上托管这个应用程序,这就是为什么我想使用客户端处理进行 DT 渲染,即server = F传递给DT::renderDataTable。让我分解一下我的问题的要点:

  • 该代码在以下情况下完全可以运行server = T已通过。

  • 经过时server = F,当用户编辑 DT 中的单元格时,浏览器会抛出以下错误消息:

DataTables 警告:表 id=DataTables_Table_5 - 无效 JSON 回复。有关此错误的更多信息,请参阅http://datatables.net/tn/1 http://datatables.net/tn/1

有趣的是,当这个错误窗口消失时,依赖的摘要统计数据根据编辑正确更新,并且 Shiny 应用程序继续。因此,除了错误之外,一切正常。我应该指出,我访问了错误中提到的网站,但没有变得更明智。

下面的可重现示例:

library(shiny)
library(DT)

dt = data.frame(V1 = c(1,2), V2 = c(3,4))

server <- 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 <- fluidPage(
  dataTableOutput('testDT') 
)

shinyApp(ui, server)

Thanks!


已经回答了Github 线程 https://github.com/rstudio/DT/issues/598我在这里分享我的答案。

可能没有明确记录。与编辑无关。这是因为replaceData() calls reloadData(),这就需要服务器端处理模式。看?reloadData().

reloadData() 仅适用于服务器端处理模式下的表,例如使用 renderDataTable(server = TRUE) 渲染的表。要重新加载的数据(即传递给 dataTableAjax() 的数据)必须具有与表中前一个数据对象完全相同的列数。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用客户端处理(服务器 = F)在 Shiny 应用程序中进行 DT 编辑会引发 JSON 错误 的相关文章

  • 在 R 中创建一个运行计数变量?

    我有一个足球比赛结果的数据集 我希望通过创建一组类似于世界足球 Elo 公式的运行评级来学习 R 我遇到了麻烦 在 Excel 中看似简单的事情在 R 中并不完全直观 例如 4270 个观察中的前 15 个具有必要的变量 date t 1
  • 计算每个唯一值出现的次数

    假设我有 v rep c 1 2 2 2 25 现在 我想计算每个唯一值出现的次数 unique v 返回唯一值是什么 但不返回它们的数量 gt unique v 1 1 2 我想要一些能给我的东西 length v v 1 1 25 le
  • 在shiny中过滤传单地图数据

    我在用传单地图设置这个闪亮的东西时遇到了麻烦 我的原帖 https stackoverflow com questions 50111566 applying leaflet map bounds to filter data within
  • 重复测量引导统计数据,按多个因素分组

    我有一个看起来像这样的数据框 但显然还有更多行等 df lt data frame id c 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 cond c A A B B A A B B A A B B A A B B co
  • 使用 YAML.load 解析 json 安全吗?

    我使用的是红宝石2 1 0 我有一个 json 文件 例如 测试 json item apple 1 banana 2 使用 YAML load 加载此文件是否安全 YAML load File read test json 我正在尝试加载
  • 为什么 JSON.stringify 对于似乎具有属性的对象返回空对象符号“{}”?

    下面的例子表明JSON stringify 返回字符串 对于 SpeechSynthesisVoice 对象 var voiceObject window speechSynthesis getVoices 0 JSON stringify
  • R - Plm 和 lm - 固定效应

    我有一个平衡面板数据集 df 本质上由三个变量组成 A B and Y 对于一堆独特识别的区域来说 它会随着时间的推移而变化 我想运行一个回归 其中包括区域 下面等式中的区域 和时间 年份 固定效应 如果我没记错的话 我可以通过不同的方式来
  • 选择 R 中的数据表中隐藏时(在绿色加号下方)列的显示顺序

    Context 使用 DataTables 库制作交互式表格时 当屏幕宽度对于列的数量和宽度来说太窄时 列将隐藏在绿色 号下 我有一个非常宽的表格 有 20 多列 其中一些内容非常冗长 因此某些列在所有屏幕宽度下总是隐藏的 每次隐藏新列时
  • Spring-roo REST JSON 控制器损坏日期字段

    我有一个以两种方式使用的数据实体 我在页面加载时用其中的一些数据填充表格 当您单击该列的一行时 我通过 AJAX 获取该项目的详细信息并将其显示在表单字段中 我在服务器端使用 Spring Roo 生成的 REST 端点 在客户端使用 Ba
  • 时间戳半小时窗口内字段的平均值

    我的数据框有列名Timestamp es看起来像 Timestamp es 2015 04 01 09 07 42 31 2015 04 01 09 08 01 29 5 2015 04 01 09 15 03 18 5 2015 04 0
  • 绘制点之间的所有线

    我有以下 R 代码 x lt c 0 01848598 0 08052353 0 06741172 0 11652034 y lt c 0 4177541 0 4042247 0 3964025 0 4074685 d lt data fr
  • R独特的列或行与NA无可比拟

    有谁知道如果incomparables的论证unique or duplicated 曾经被实施过incomparables FALSE 也许我不明白它应该如何工作 无论如何 我正在寻找一个巧妙的解决方案 以仅保留与另一列相同的唯一列 或行
  • 在 R 中创建虚拟变量,排除某些情况为 NA

    我的数据看起来像这样 V1 V2 A 0 B 1 C 2 D 3 E 4 F 5 G 9 我想创建一个虚拟变量R where 0 1 1 2 3 4 and NA 0 5 9 应该很简单 有人可以帮忙吗 我们可以转换V2 into a fa
  • Purrr::map_df() 删除 NULL 行

    使用时purrr map df 我偶尔会传递一个数据框列表 其中一些项目是NULL 当我做 map df 返回行数少于原始列表的数据框 我想发生的事情是这样的map df calls dplyr bind rows 它忽略了NULL价值观
  • 使用 JSON 参数的 Postgres 批量 INSERT 函数

    这是一个plpgsqlpostgres 的函数9 6 它试图INSERT一行 如果插入没有失败 由于违反键约束 那么它会运行更多命令 CREATE FUNCTION foo int text text RETURNS void AS BEG
  • 使用 R 选择第一个非 NA 值

    df lt data frame ID c 1 1 1 2 3 3 3 test c NA 5 5 6 4 NA 7 3 NA 10 9 我想创建一个名为 value 的变量 它是每个单独 ID 测试的第一个非 NA 值 对于只有NA的个体
  • ggplot2 geom_密度和geom_histogram在一个图中

    如何制作一个所有条形加起来为 1 的直方图 并在适合的上方添加一个密度层 set seed 1234 df lt data frame sex factor rep c F M each 200 weight round c rnorm 2
  • PHP 数组通过 JSON 转为 jquery 数组

    我有点困惑为什么以下不起作用 get php
  • 相当于 min() 的 rowMeans()

    我在 R 邮件列表上多次看到这个问题 但仍然找不到满意的答案 假设我有一个矩阵m m lt matrix rnorm 10000000 ncol 10 我可以通过以下方式获得每行的平均值 system time rowMeans m use
  • 文本挖掘 pdf 文件/词频问题

    我正在尝试挖掘一篇具有丰富 pdf 编码和图表的文章的 pdf 我注意到 当我挖掘一些 pdf 文档时 我得到的高频词是 phi taeoe toe sigma gamma 等 它与某些 pdf 文档配合良好 但与其他文档配合使用时却得到这

随机推荐

  • Python file.write 创建额外的回车符

    我正在使用 python 将一系列 SQL 语句写入文件 模板字符串如下所示 store insert tinsert stores storenum values s 我像这样写入文件 for line in source line li
  • 如何衡量字符串之间的相似度?

    我有很多名字 我想获得唯一的名字 然而 由于拼写错误和数据不一致 名称可能写错 我正在寻找一种方法来检查字符串向量是否其中两个相似 例如 pres lt c Obama B Bush G W Obama B H Clinton W J 我想
  • 无法设计全授权工作

    我需要访问 google API 我试图让用户使用 Devise 2 1 1 和 Omniauth 使用 gemgoogle oauth2因为 OAuth2 是 Google 文档推荐的 不幸的是我无法让它工作 这是routes rb Te
  • Django - 按组注释加权平均值

    我有以下在 SalesRecord 上运行的模型管理器 def by variety and date self start date end date return self model objects filter date range
  • 用 Java 或其他方式发送 GET 和 POST 请求而没有响应

    是否可以使用 Java 或其他语言发出 GET 和 POST 请求 这样您就不必关心返回的内容 就像只是发送请求但不想收到任何响应 无论您是否关心回复 它都会被发送 HTTP 协议规范说它必须如此 如果您不关心响应 您的客户端可以在发送请求
  • 在Python中导入CAD对象并存储为数组

    我正在使用 Autodesk Fusion 360 对 3D 零件进行建模 参见下图 然后可以将其导出并保存为 step iges sat 或 smt 文件 我想要实现的目标是将这部分转换为Python中的3D numpy数组 数组的每个元
  • 使用环境覆盖 Spring Cloud Config 值

    有没有办法用另一个属性源 特别是系统环境 覆盖通过 Spring Cloud Config Server 设置的属性 我知道我可以通过循环来手动完成Environment对象的PropertySources 但如果我可以设置它以便boots
  • CMake - 如何获取目录名称中的倒数第二个?

    所以我有 get filename component a dir some file PATH get filename component a last dir a dir NAME 其中 a last dir 应该返回我的目录的最低级
  • 在每个函数/每个代码块的基础上启用 SSE4 的正确方法是什么?

    对于我的一个 OS X 程序 我有一些使用 SSE4 1 指令的优化案例 在仅 SSE3 的计算机上 运行非优化分支 SupportsSSE4 1 returns true on CPUs that support SSE4 1 false
  • Java FX 更改前一阶段场景中的标签文本

    我有一个Main启动我的应用程序的类有其MainControllerfxml 中指定的类 当点击Connect按钮打开另一个具有不同场景和控制器的窗口 基于我想要改变的行动Label通过 my 的文本值MainController 但它没有
  • 使用 的 Websocket CdiUtils NPE

    该应用程序在 TC7 Spring 3 和 JSF 2 2 中运行良好 但我想添加 JSF 2 3 的推送功能 因此我升级到 TC 9 0 8 Spring 5 0 5 和 JSF 2 3 0 在遇到一些简单的初始问题后由于升级 应用程序部
  • Maven 构建在 Jenkins 中中止

    我是詹金斯的新手 我成功地在 Jenkins 中克隆了 GIT hub 存储库 现在尝试在 Jenkins 中构建获取的 Maven 项目 我有 7 个从 GITHUB 获取的项目 它们相互依赖 即某些项目在其 POM 中为其他项目定义了依
  • 如何用标准 Java 实现 Android 消息处理程序模式?

    我正在编写一个通过蓝牙与 PC 通信的 Android 应用程序 在正常操作期间 它会从手机向 PC 快速连续发送短 8 字节数据包 通常频率 gt 100Hz 在每个设备上 运行一个单独的线程来执行写入和读取 代码如下所示 The Cla
  • 如何在Android中获取设备信息[重复]

    这个问题在这里已经有答案了 可能的重复 如何检测操作系统或设备类型等系统信息 https stackoverflow com questions 3213205 how to detect system information like o
  • @Profile 导致无法启动 EmbeddedWebApplicationContext

    我尝试使用 Profile 功能来分离生产 开发环境配置和 测试 配置 但是当我将 Profile 添加到我的配置类中时 我得到 Exception in thread main org springframework context Ap
  • 样式使 NavLink 在 React 中“不可点击”

    我正在尝试设计一个react router dom NavLink 导航栏 我已经采用了几种不同的方法 但在每种情况下 无论我选择什么方式 都会使 NavLink 不可点击 它将是一个样式精美的框 不会通过单击进行导航 我采取了以下几种方法
  • 从本地时区转换为 utc 时区

    我正在尝试创建一个函数 它接受一个时间对象并将其转换为 UTC 时间 下面的代码似乎关闭了一小时 当我中午通过转换器运行时 我返回 18 00 00 但是当我通过在线转换器运行相同的数据时 我得到 17 00 00 我在这里做错了什么 任何
  • 将项目从 .NET Framework 3.5 迁移到 4.0 后,在调试期间在 DllImport 例程上获取 InteropServices.SEHException

    我编写了一个与winspool 打印驱动程序交互的应用程序 几个月来它一直工作得很好 我需要将我的项目从 NET Framework 3 5 移动到 4 0 以包含同事程序集 但这样做 并且仅这样做 会导致我的 dll 导入方法调用之一在从
  • 在 Python 中实现 GObject 接口

    当使用 GTK3 的 Python 3 绑定时 是否可以实现gobject GInterface通过子类化接口 在我的具体情况下 我想写一个自定义Gtk TreeModel https lazka github io pgi docs Gt
  • 使用客户端处理(服务器 = F)在 Shiny 应用程序中进行 DT 编辑会引发 JSON 错误

    我有一个闪亮的服务器应用程序 用户可以在其中编辑数据表 然后一些反应性摘要统计信息会相应更新 我在一个相当慢的框架上托管这个应用程序 这就是为什么我想使用客户端处理进行 DT 渲染 即server F传递给DT renderDataTabl