coldfusion - ColdFusion 错误从 GetHttpRequestData().headers 检索接受语言
问题描述
我正在尝试GetHttpRequestData().headers.accept-language
在 ColdFusion 2018 中提取变量,但出现错误。
主要对象
GetHttpRequestData().headers
看起来不错。这是来自 html 请求标头的信息。我还可以拉回 headers 对象中的其他值,例如
GetHttpRequestData().headers.host
或GetHttpRequestData().headers.accept
但是,如果变量名包含破折号,即。
GetHttpRequestData().headers.accept-language
,我收到一个错误,因为 CF 认为我正在执行一个数学函数。
我怎样才能返回这个变量?应该很简单。
// Dump the Object
writeDump(var="#GetHttpRequestData().headers#",format="html")
// Dump a result in the Object OK
writeDump(var="#GetHttpRequestData().headers.host#",format="text")
// Dump a result in the Object OK
writeDump(var="#GetHttpRequestData().headers.accept#",format="text")
// CF Thinks I'm executing a mathematical function
// when structure variable has a dash in the name
try {
writeDump(var="#GetHttpRequestData().headers.accept-language#",format="text")
} catch (any e) {
writeOutput("Error: " & e.message);
}
解决方案
用破折号分隔符回答 ColdFusion 变量。
按以下方式使用链式变量:
#GetHttpRequestData().headers['accept-language']#
- 注意点分隔符的下降
推荐阅读
- r - R导入所有列作为文本的大型数据集
- php - 我存储上传的图像未显示 PHP Laravel
- swift - UIButton 没有在 swift 代码中执行操作
- python - Discord.py 检测用户何时断开机器人与语音的连接
- python - 更改条形颜色
- sql - Presto查询(优化):检查数组是否包含某个元素并计算它
- firebase - Unity 和 Firebase - 包管理器解析器,卸载以下包:Firebase 身份验证
- javascript - 如何使用 Firebase 函数在 iOS 中获取条带临时密钥?
- javascript - WebAudioAPI:PannerNode:`orientation`和`forward`代表什么值
- react-native - React Native Windows 项目中的网络调用立即失败