2013-06-05 5 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

[Дубликат] (http://stackoverflow.com/questions/16942394/javascript-to-coldfusion-using-variable-in-javascript -в-запрос-в-ср-с)? –

ответ

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> 
Смежные вопросы