澄清::这里的问题是,“如何停止使用
<cfquery>
来检索数据并将其替换为对API的调用?”
我有一个sql查询,需要帮助将其转换为cfscript。但是,如您所见,我已尝试对其进行转换。但是,如果我在从sql查询转换为cfscript的正确路径上,则需要进行一些验证。如果没有,有人可以通过将SQL查询转换为cfscript来帮助我吗?谢谢您的帮助。这是我的代码。
CFSCRIPT:
<cfset jsonDatas = fileRead("c:\Users\Desktop\MyApi.json" )>
<cfset jsonData = deserializeJSON(jsonDatas) />
<cfif arrayLen(jsonData)>
<cfloop array="#jsonData#" index="prop">
<cfoutput>
<cfscript>
// writedump(jsonData);for (item in jsonData[1]) {
if (#prop.payGrade# == 0) {
#prop.divisionNbr#;
#prop.probationBeginDate#;
#prop.legacyStatus#;
#prop.payStep#;
#prop.creationDate#;
}
答案 0 :(得分:0)
您要问的是两件事。
SQL
定义在数据库上运行的查询。 CFSCRIPT
只是ColdFusion代码(与标签相对)的脚本样式语法。 您的示例代码是
您是要从当前调用数据库(将数据作为ColdFusion查询对象返回)到调用API(将数据作为JSON数据包返回)吗?然后,您需要将JSON数据转换为当前使用的相同或相似的CF结构吗?
更新:如果您想用API调用替换现有查询,
<cfquery>
调用转换为API调用?答案 1 :(得分:0)
我要在这里破产。您是否在数据库中有数据,并且只想返回该数据的JSON表示形式?如
<cfquery name="result">
SELECT ...
FROM whereever
</cfquery>
<cfoutput>#SerializeJSON(result, 'struct')#</cfoutput>
然后其他尝试使用此数据?我一直在寻找您的问题,我不知道我们是在世界的生成数据方面,还是在世界的消费数据方面。
答案 2 :(得分:0)
这确实是一条评论,但我需要大量空间来编写它。
您是否要从远程源获取数据并将其显示在网页上?您是否想做这样的事情?
我认为我们需要澄清哪些是客户端技术,哪些是服务器端技术。
更新基于评论**
考虑VueJS解决方案
<!-- Showing stuff on screen -->
<div id="app">
{{ info }}
</div>
我可以在屏幕上显示内容。这与#info#
<!-- Getting data -->
<cfscript>
new Vue({
el: '#app',
data () {
return {
info: null
}
},
mounted () {
axios
.get('https://api.coindesk.com/v1/bpi/currentprice.json')
.then(response => (this.info = response))
}
})
<cfscript>
这是从远程源获取数据并将其放入javascript变量中。
说明
那我为什么要使用Javascript而不是ColdFusion? Javascript在浏览器上运行; ColdFusion在服务器上运行。如果要在浏览器上使用API,则必须使用基于浏览器的技术。
我的示例在VueJS中,但是Angular和React也可以选择。有点过时了,但是jQuery也可以做这种事情。
代码来源:https://vuejs.org/v2/cookbook/using-axios-to-consume-apis.html