我的.js文件中有一个字符串数组,我使用$ .get()来调用.cfm页面进行查询(最终),但是想知道如何使用$存储发送的数据.get()到.cfm文件中的变量。
的.js
var obj = []; //array
//code to put strings in 'obj'
$.get("submit.cfm",{data: obj});
submit.cfm
<cfparam name="temp1" default="">
<cfset tempArr = ArrayNew(6)>
?我想要使用&lt; cfparam&gt;,&lt; cfset&gt;还是有更好的选择?
submit.cfm的目标最终是做一些事情:
<cfquery name="sample" datasource="database_live">
SELECT temp1[1], temp1[2], etc....
FROM table
</cfquery>
答案 0 :(得分:1)
有点令人困惑,因为你正在命名你的数组变量“obj”,但因为它实际上是一个数组......看起来你的数组只是一个列名数组,所以你可以简单地这样做......
而不是:
<cfparam name="temp1" default="">
<cfset tempArr = ArrayNew(6)>
<cfquery name="sample" datasource="database_live">
SELECT temp1[1], temp1[2], etc....
FROM table
</cfquery>
只需使用:
<cfset tempArr = DeserializeJSON(URL.data) />
<cfquery name="sample" datasource="database_live">
SELECT tempArr[1], tempArr[2], etc....
FROM table
</cfquery>
如果您希望查询根据数组中的项目数是动态的,那么:
<cfset tempArr = DeserializeJSON(URL.data) />
<cfset selectList = "" />
<cfloop array=#tempArr# index="i">
<cfset selectList = listappend(selectList,i) />
</cfloop>
<cfquery name="sample" datasource="database_live">
SELECT
<cfoutput>#selectList#</cfoutput>
FROM table
</cfquery>