Coldfusion - 如何从$ .get()(Javascript)存储变量?

时间:2013-06-05 14:58:16

标签: javascript coldfusion coldfusion-10

我的.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>

1 个答案:

答案 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>