【问题标题】:Coldfusion JSON Breaking with DataTables使用 DataTables 打破 Coldfusion JSON
【发布时间】:2015-01-02 19:08:09
【问题描述】:

如果使用了一些特殊字符,我正在使用jsstringformat 函数来处理 json 数据,但这似乎并不能解决所有问题。

我的 JSON 仍然中断。

我是这样使用的:

"<a href='edit.cfm?id=#jsStringFormat(qFiltered.randomnumber)#' style='color:##066D99'>#trim(jsStringFormat(qFiltered[thisColumn][qFiltered.currentRow]))#</a>"

我在这里迷路了,我还能用什么作为 regexrereplace 的任何部分,它不应该破坏

谢谢

【问题讨论】:

  • 不能处理所有问题,它什么时候中断?此外,randomnumber 的内容是什么样的?给我们一些样品。
  • 随机数如下所示:createuuid 类型:f1cb5eb1-d4be-d9b1-03a954e136ae496b
  • 这与 DataTables 有什么关系?此外,由于 randomNumber 基本上是一个字符串,因此您可能不需要函数。如果你这样做了,那么 urlencodedformat 可能更合适。
  • 您是否尝试过改用serializeJSON?这也会转义任何特殊字符。
  • JSStringFormat 不是为处理 JSON 数据而设计的。正如 David Faber 所建议的,您应该使用 serializeJSON(和 DeserializeJSON)。另见stackoverflow.com/a/7668518/2482184

标签: regex json coldfusion jquery-datatables


【解决方案1】:

你在这里做了很多事情。

  • 您将字符串放入 URL:使用 UrlEncodedFormat
  • 您还将它放在 HTML 标记中:使用 HtmlEditFormat
  • 整个事情都进入了一个 JavaScript 变量,所以我会使用 JSStringFormat 来包装整个事情。

在分配之前尝试构建您的字符串。

<cfsavecontent variable="htmlLink"><cfoutput>
  <a href="edit.cfm?id=#UrlEncodedFormat(qFiltered.randomnumber)#" style="color: ##066D99">#HtmlEditFormat(Trim(qFiltered[thisColumn][qFiltered.currentRow]))#</a>
</cfoutput></cfsavecontent>
myJsVar = "#JsStringFormat(Trim(htmlLink))#";

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-30
    • 1970-01-01
    • 2019-02-02
    • 1970-01-01
    • 1970-01-01
    • 2015-12-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多