问题标签 [coldfusion-2018]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
json - “//” - 前缀 JSON 返回给出不一致的结果
我有一个通过 ajax 调用的 cfc 函数。它接受商家代码(单个代码或以逗号分隔的代码列表),执行一些检查和 I/O,然后返回一个标志。
注意:出于安全原因,我们启用了 CFAdmin 设置“前缀 JSON 与 '//'”,这似乎是问题的根源。
氟氯化碳功能:
该函数只有两种可能的返回值:字符串(例如“qweqweqwe”)或“1”。
当遇到无效时,该字符串在循环内返回merchant_code
。循环后返回“1”作为整个过程成功的指示。
阿贾克斯:
在下面的代码中,我包含了我尝试过的两个不同的 ajax 调用选项,每个选项都会产生不同的结果,如代码注释中所述。
还请注意:仅返回带有“//”前缀的无效代码。如果返回“1”,则没有前缀。
如果我禁用 CFAdmin 设置“使用'//'前缀 JSON”,那么所有问题都会消失。我更喜欢使用上面的 ajax 选项 1,但需要知道为什么它显然只是默默地无法处理返回的标志“1”以获取有效数据。
编辑
问题可能只是选项 1 中的 dataFilter 属性正在使用不以“//”为前缀的返回值。那么为什么返回的“1”没有带有“//”前缀,而“qweqweqw”却有前缀呢?
rest - 如何创建接受查询参数的 ColdFusion REST 端点
这是我尝试使用查询参数创建 REST 端点的代码片段,
但是当我尝试像下面这样调用终点时,它会给出“不允许的方法”
任何帮助将不胜感激。
coldfusion - 结构上的参数非可选分号
我目前正在将很多 CF 11 代码更新到 CF 2018。我喜欢的一件事是分号大部分时间都是选项。话虽如此,我还在纠结这背后的想法:
错误
您不能将变量引用与“。”一起使用。此上下文中的运算符 CFML 编译器正在处理:
在第 3 行第 1 列以 param 开头的脚本语句。从第 1 行第 2 列开始的 cfscript 标记。
不是错误
我不明白为什么。
coldfusion - ColdFusion 2018 计划任务不起作用
我们最近开始迁移到 ColdFusion 2018 Enterprise,但发现计划任务不起作用。尽管如果在同一服务器上的浏览器中运行相关的 cfm 文件可以工作,但如果我们尝试将其作为计划任务运行,则它不起作用(尽管它会说它已在屏幕上成功运行)。
每次运行的日志文件只包含一行:
信息","DefaultQuartzScheduler_Worker-5","11/20/20","12:48:18","","任务 default.takename 已触发。"
然而,据我了解,http 请求等应该有额外的行。
我们尝试了各种用户名和密码,包括管理员帐户,以确保这不是权限问题,但似乎没有任何区别。
我们也尝试过输出到文件,但没有任何东西填充文件,尽管它确实用任务运行的日期/时间更新了文件的修改日期(或在必要时创建一个新文件)。
有没有人有过这类问题的经验?
arrays - 来自表单复选框的 Coldfusion 数组
我正在尝试找出处理此问题的最佳方法。我有一系列带有复选框的表单字段,供人们选择选项。当它被提交时,它变成form.optiongroups
一个数组。然后我检查 idoptiongroup
是否在数组中,并将检查的值设置为 true,以防出现表单错误,我希望他们保留检查的值。这一切都很好。
如果我只选择一个选项,虽然它不是一个数组,而是一个常规的表单字段。有没有办法可以处理这个以确保它始终是一个数组?
coldfusion - ColdFusion 2018 不会将未定义解释为空字符串
ColdFusion 服务器已更新至 ColdFusion 2018(从 ColdFusion 9 或 11)。
该服务器上最古老的应用程序之一包含如下代码:< cfif arguments[key] NEQ "">
之前,这似乎等同于isDefined("arguments.key")
or StructKeyExists(arguments, key)
。
今天,即使isDefined("arguments.key")
是假的,StructKeyExists(arguments, key)
也是否定的,<cfif arguments[key] NEQ "">
失败了,因为 arguments[key] 不再像空字符串那样表现。事实上,< cfdump var="#arguments[key]#">
显示“未定义”。
为了避免在使用空字符串而不是在任何地方更改代码,我能做些什么StructKeyExists
吗?也许是 ColdFusion 服务器参数?(THIS.enableNullSupport
没有帮助)
constructor - 在 Coldfusion 中使用变量范围定义常量是一种好习惯吗?
在我们的 Adobe Coldfusion 项目中,我们有一些组件用作单例,例如:
这应该正常工作,因为必须始终首先执行 init() 函数才能调用任何其他方法。我担心的是:如果 loadFromConig() 函数花费的时间太长并且某些 getter 方法抛出未定义的变量异常,是否有任何风险不会按预期发生(例如在压力测试条件下)?
一般来说,在构造函数中使用变量范围定义一些“常量”是一种好习惯(方法 A),还是使用具有默认值的属性更好(方法 B),或者硬编码“常量”是否更安全' 直接在吸气剂中:
(方法 C)?
我我们使用方法 A - 在这些行周围放置一个 cflock 是个好主意:
在构造函数中还是这样的锁没用?