2013-06-05 43 views
0

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

?我想使用一个< cfparam>,< cfset>还是有更好的选择吗?

submit.cfm的目标是最终做各种各样的事情:因为你命名你的数组变量“目标文件”

+0

有很多的例子在那里...搜索 –

+0

奔纳德尔所以请求你的页面看起来像'submit.cfm?arr = foo,bar,fubar'?我会使用'' – duncan

+0

[Duplicate](http://stackoverflow.com/questions/16942394/javascript-to-coldfusion-using-variable-in-javascript -to-查询功能于CF-用)? –

回答

1

有点混乱,但因为它实际上是一个数组...看起来也像你这样的阵列仅仅是列名的数组,所以你可以简单地做到这一点...

代替:

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