我正在尝试在ColdFusion 2018中提取变量GetHttpRequestData().headers.accept-language
,但遇到错误。
主对象GetHttpRequestData().headers
看起来不错。这是来自html请求标头的信息。
我还可以拉回标头对象中的其他值,例如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);
}
答案 0 :(得分:3)
使用破折号分隔符回答ColdFusion变量。
以以下方式使用链接的变量:
#GetHttpRequestData().headers['accept-language']#