gpt4 book ai didi

json - Coldfusion 10 returnformat ="JSON"添加字符

转载 作者:行者123 更新时间:2023-12-02 10:22:43 25 4
gpt4 key购买 nike

我有一个正在从 CF8 转换为 CF10 的应用程序,而我的一些远程 CFC(返回的数据应该是 JSON)现在失败了,因为似乎有一个“//”前置到返回的数据。例如,这是返回结构的输出:

//{"SUCCESS":true,"ERRORS":[],"DATA":{"COLUMNS":["AUTHRESULT","SPID","EMAIL","RID"],"DATA":[[true,361541,"user@domain.com",""]]}} 

在 CF8 服务器上通过相同的 CFC 运行相同的函数会给出:

{"ERRORS":[],"SUCCESS":true,"DATA":{"COLUMNS":["AUTHRESULT","SPID","EMAIL","RID"],"DATA":[[true,361541,"user@domain.com",""]]}} 

代理所有请求的 CFC 确实具有 returnFormat="JSON"- 但在 proxyCFC 或从 proxyCFC 扩展的 CFC 中都没有调用 SerializeJSON()。

我不确定处理这个问题的最佳方法是什么。修剪掉响应中的“//”是可能的,但它看起来并不“正确”。我需要在 CF10 端解决这个问题,因为这些函数不仅在我们的应用程序中使用,而且也在一些远程应用程序中使用(有些是通过 http://posts 进行的,有些是通过 jQuery Ajax 调用进行的)。

最佳答案

这是 ColdFusion admin, under settings 中的服务器端设置。 在序列化 JSON 中添加前缀。为了安全起见,它默认启用。 通过使用自定义前缀作为序列化 JSON 字符串的前缀,保护 Web 服务返回 JSON 数据免受跨站点脚本攻击。。也许您已在 ColdFusion 8 服务器上关闭此功能。不过我不建议关闭它。

请参阅 Raymond Camden 的这篇文章 - Handling JSON with prefixes in jQuery and jQueryUI

注意:还可以通过在 Application.cfc 文件中设置 secureJSONsecureJSONPrefix 来针对每个应用程序设置此设置。请参阅此处的相关文档 - Application variables .

secureJSON - 一个 bool 值,指定是否在 ColdFusion 函数以 JSON 格式返回的值前面添加安全前缀以响应远程调用。

默认值是管理员服务器设置 > 设置页面中的前缀序列化 JSON 设置的值(默认为 false)。您可以在 cffunction 标记中覆盖此值。

secureJSONPrefix - 如果 secureJSON 设置为 true,则放置在 ColdFusion 函数以 JSON 格式返回的值前面以响应远程调用的安全前缀。

默认值是管理员服务器设置 > 设置页面中的前缀序列化 JSON 设置的值(默认为//,JavaScript 注释字符)。

关于json - Coldfusion 10 returnformat ="JSON"添加字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15501123/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com