在 JSON 驱动的 jQuery 数据表中转义标记?

2024-01-17

我正在使用一个jquery数据表 http://datatables.net/这是使用动态加载一些 JSONsAjaxSource财产。一切都很好,除了加载的内容被视为潜在的标记,因此如果单元格中的文本包含<或类似的东西。

在将数据加载到表中之前,如何让数据表转义数据?我不想在服务器端执行此操作,因为服务器不应该关心客户端将如何处理数据。


[注意:以下答案适用于 DataTables 1.9x 及以下版本。 1.10 更改了方法命名约定和其他一些内容。 1.9x 方法可用但已弃用,并且将不可避免地被完全删除。]

如果“批量”删除它们是安全的(即,如果您设计了一个不影响 JSON 有效性的转义字符串函数),则可以使用 fnServerData 函数来完成:

"fnServerData": function ( sSource, aoData, fnCallback ) {
  $.ajax( {
    "dataType": 'json',
    "type": "GET",
    "url": sSource,
    "data": aoData,
    "success": function (data) {
      // run your escape string function to modify 'data'
      fnCallback(data); // or fnCallback(newData) if you used new variable
    }
  });
}

如果您不确定批量修改它的安全性,您可以使用 fnRowCallback 逐行进行修改:

"fnRowCallback": function( nRow, aData, iDisplayIndex, iDisplayIndexFull ) {

  var cellData = myEscaper(aData[0]); // where myEscaper() is your own custom function
  $('td:eq(0)').text(cellData);

  return nRow;
}

在此示例中,我仅修改第一个单元格。如果它适用于所有单元格,您可能需要编写一个迭代器来遍历整行以进行转换。如果它只适用于某些单元格,您可以一次处理一个单元格。

请注意,aData[0] 和 td:eq(0) 只是巧合地具有相同的索引 (0)。如果有任何隐藏列,则不一定会匹配。另外,如果您使用 mDataProp,您也需要处理这个问题。

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

在 JSON 驱动的 jQuery 数据表中转义标记? 的相关文章

  • 如何通过setTimeout函数定期打印数字?

    var i 0 function counter for i i lt 100 i setTimeout gt console log i 2000 counter 我想以 2 秒的间隔打印 i 但它立即打印 每次打印调用只需要几微秒 为什
  • 如何显示接下来的三个图像单击加载更多按钮

    我需要一个加载更多按钮来显示图像 页面加载时 我显示 3 个图像 单击 加载更多 按钮后 接下来的 3 个图像将显示在屏幕上 我尝试了下面的代码 但它不起作用 你能帮我解决这个问题吗 function item slice 0 2 show
  • JQuery 菜单图标 RTL

    我正在尝试在阿拉伯语 RTL 页面中使用 jQuery 菜单 我可以将其设为 RTL 但图标应该是ui icon carat 1 w not ui icon carat 1 e 我创建jsfiddle在这里 http jsfiddle ne
  • Chrome --app 相当于 Firefox\IE

    我有一个网络应用程序 客户要求单击不同按钮时更改浏览器窗口大小 我发现在那link https stackoverflow com questions 13436855 launch google chrome from the comma
  • Angular2:动态同步http请求

    Goal 发出一系列同步 http 请求并能够将它们作为一个可观察流进行订阅 示例 不工作 let query arr test1 test2 test3 function make request query arr if query a
  • ES6 模块范围

    我有代码 lib js var a a export var b b main js console log a a variable is not available in a global scope import b from lib
  • 如何在React中动态分配属性?

    这是一个有两个参数的函数 我要创建的标签的名称 具有以下属性的对象 Using React 我创建一个组件并将该元素渲染到 DOM 问题是我想向元素添加属性 但它不允许循环在元素内设置属性 var Element function elem
  • 从字节数组设置 img src

    我需要设置img src我在对象中拥有的字节数组的属性 img
  • node.js 模块/导出系统:是否可以将模块导出为函数

    我想在 Dispatch js 中做这样的事情 function handle msg exports handle 这在调用index js中 var dispatch require Dispatch dispatch data 有任何
  • Svelte 条件元素类报告为语法错误

    我正在做一个if块每if 块的精简指南 https svelte technology guide if blocks 这看起来很简单 但 Svelte 认为这是一个语法错误 svelte plugin ParseError Unexpec
  • 如何从 CSS 选择器中提取类名?

    故事 我目前正在构建一个 ESLint 规则 以警告在 CSS 选择器定位器中使用引导布局导向和角度技术类 目前我在字符串方法中使用简单的子字符串 for var i 0 i lt prohibitedClasses length i if
  • 为什么 call 比 apply 快那么多?

    我想知道是否有人知道why call比apply 在 Chrome 中 速度大约快 4 倍 在 Firefox 中快 30 倍 我什至可以制作自定义原型 apply2 在大多数情况下 运行速度是apply 这个想法取自角度 Function
  • 在反应中访问回调内的 event.target

    我有以下课程片段 constructor props super props this timeout null search e gt clearTimeout this timeout this timeout setTimeout f
  • onPress 方法中箭头函数与普通函数的行为

    正在学习 Native React 并学习更多关于 javascript 的知识 所以我仍然不明白它的行为的很多事情 我使用 TouchableOpacity 及其 onPress 属性创建了一个按钮组件 为了让它工作 我必须发送我想要执行
  • 如何在 TypeScript 中使用 navigation.replace ?

    我试图在我的代码中使用它 const navigation useNavigation navigation replace AllFriends 但我不断收到错误消息 Property replace does not exist on
  • Three.js点击单个粒子

    In this example http jsfiddle net agqq96bq 2 您可以看到 2 个可点击的粒子 但它们都受到点击的影响 另外 我只想检测粒子上的点击 而不将它们过滤出场景 像这儿 if intersects len
  • 将网站加载到 DIV 中

    当我在文本框中写入 URL 然后单击提交按钮时 如何实际从网站检索数据 我希望将数据放入我拥有的 div 中 这可能吗 我已经尝试过这个 但它不起作用
  • 为什么 JavaScript 中是 [1,2] + [3,4] = "1,23,4" ?

    我想将一个数组的元素添加到另一个数组中 所以我尝试了以下方法 1 2 3 4 它的回应是 1 23 4 到底是怎么回事 The 操作员没有为数组定义 发生的事情是 JavaScript将数组转换为字符串并将它们连接起来 Update 由于这
  • 如果 POST 响应仅包含 ID,如何将数据保存到我的 Ember 存储?

    Ember 数据期望我的服务器在每次成功后返回完整的对象POST 但是 我的 API 只返回一种元对象 其中包含id 当 Ember 收到此对象时 记录中的现有数据将被删除 除了id 例如 当我这样做时 var asset App Asse
  • Cycle2 初始化事件未触发

    我使用 Cycle2 作为基本的轮播 我的幻灯片项目有时在其数据中包含一个 url 因此我必须使用 Cycle2 api 事件来使用该 url 当它存在时 我的问题是 虽然 cycle after 事件触发正常 但初始化事件都不会触发 因此

随机推荐

  • Jupyter 笔记本无法识别 venv 中的包

    这让我发疯 由于某种原因 我的 ipynb 文件似乎无法识别 venv 中的 python 包 即使我已经明确安装了 opencv 我也会收到此错误 我也遇到了 dlib 和 imutils 完全相同的问题 However 当我在保存 ve
  • 提取字典列表中元素的值

    我有一个Python数据结构如下 A abc kjkjl abc hjhjh abc 78787 如何从 A 中删除 abc 并创建一个新列表 B kjkjl hjhjh 78787 编辑 使用解决方案我仍然收到以下错误 return co
  • 基于 C++ 代码在 PHP 中创建字节数据并将其传递到套接字

    如果这个标题没有让你感到困惑 我会看看我能在这里做什么 我有一个 C DLL 的源代码 它将 TCP 流量传递到服务器 我相信所有相关的 C 代码如下 define HRD MSG SANITY1 0x1234ABCD define HRD
  • 从替代解析器表达式的可变参数列表生成 Spirit 解析器表达式

    我正在寻找实现可变参数函数的最简单方法 该函数采用 boost spirit qi 规则列表并将该列表扩展为以下格式的表达式 rule1 规则2 规则3 假设规则不综合任何属性 非常感谢您的帮助 include
  • Excel 搜索公式中的单元格引用

    我继承了一个大模型 并一直在尝试对其中一些公式进行逆向工程 有很多领域 我不确定是否每个人都有必要 是否可以搜索 Excel 文档 包含 5 个工作表 来查找是否在任何公式中使用了 AZ12 或者 AZ12 或 AZ 12 工具 gt 公式
  • iOS 应用程序共享资源

    大家好 我即将开展一个项目 需要在多个应用程序中使用相同的资源 图像 视频 音频 iOS 上可以通过这种方式共享资源吗 提前致谢 恐怕不是 每个应用程序都存在于自己的沙箱中 这是底层 iOS 安全系统的一部分 应用程序无法共享资源或资产 您
  • ContentPresenter 布局传递

    我正在尝试分析 wpf 应用程序 以加快ListView显示复杂的多列数据模板项 我无法理解申请时间表报告中的数字 描述说 这是此列模板 xaml
  • Rails 3 - ajax 表单 ajax:success 事件未被调用

    经过多次故障排除后 我无法弄清楚为什么我的表单的 ajax success 回调在 Rails 3 中没有被调用 以下是我认为最终生成的代码 JS Code function myform bind ajax success functio
  • 每个术语的频率 - R TM DocumentTermMatrix

    我对 R 非常陌生 无法完全理解 DocumentTermMatrix 我有一个使用 TM 包创建的 DocumentTermMatrix 它包含术语频率和其中的术语 但我不知道如何访问它们 理想情况下 我想要 Term the 200 i
  • Java:如何中止从 System.in 读取的线程

    我有一个Java线程 class MyThread extends Thread Override public void run BufferedReader stdin new BufferedReader new InputStrea
  • 隐藏具有一定时间限制的 div [重复]

    这个问题在这里已经有答案了 可能的重复 如何在一段时间后隐藏div https stackoverflow com questions 2426304 how to hide a div after some time period 我需要
  • NTFS 备用数据流 - 好还是坏主意?

    我想存储一些与应用程序相关的文件元数据 NTFS 备用数据流 AltDS 允许我将此元数据直接存储在文件上 而不是存储在单独的数据库中 我只是觉得这不是一个好主意 我知道这仅适用于 NTFS 但至少如果用户将文件复制 移动到非 NTFS 驱
  • 什么是 ScrimInsetsFrameLayout?

    What is 稀松布插入框架布局 https github com google iosched blob master android src main java com google samples apps iosched ui w
  • 是否可以将角度模板编译为最终的 html 字符串?

    是否可以编译这个 html 模板字符串 p List of products from supplier name p p ref p 直接到 html 字符串 例如 p List of products from Some Supplie
  • 使用ansible从0循环到100

    我想循环从s0 to s60和来自s100 to s100用这个命令 name Network scan at port 22 nom base when inventory hostname in groups exos switch w
  • 检测FLASH插件崩溃

    有没有办法通过javascript检测主要浏览器 firefox ie chrome safari和opera 中的flash插件崩溃 我不确定这是否有效 您可以定期获取 Flash 对象的引用并检查它是否具有 SetVariable 方法
  • IBM Worklight 5.0.5 - 在推送通知上播放自定义声音

    当我使用 WL Server notifyAllDevices userSubscription badge 1 sound notification wav activateButtonLabel ClickMe alert notifi
  • PyQt:app.exec_() 停止运行以下所有代码

    我有一个代码 如下所示 app QApplication sys argv self interface Interface The figure self fig self interface fig self ax self fig a
  • 如何从列表中仅获取特定字段

    我有一个 IEnumerable 的 Lesson 对象 IEnumerable
  • 在 JSON 驱动的 jQuery 数据表中转义标记?

    我正在使用一个jquery数据表 http datatables net 这是使用动态加载一些 JSONsAjaxSource财产 一切都很好 除了加载的内容被视为潜在的标记 因此如果单元格中的文本包含 lt 或类似的东西 在将数据加载到表