Подготовьте свой массив JavaScript, сериализовав его в JSON.Простой и строгий способ сделать это с помощью Crockford's json2js .Таким образом, у вас будет:
<script src="json2.js"></script>
... и затем:
var your_params = [ 'this','that','theother' ]; // your js array
var s_params = JSON.stringify( your_params ); // now as json
... и затем в вашем .post()
:
{'formData': s_params}
Установите ваш cfc для получения аргумента типа string
(или any
).В cfc используйте deserializeJson()
для входящего аргумента:
<cffunction name="collectdata" output="false" access="remote" returntype="void">
<cfargument name="formData" type="string" required="yes">
<cfset var result = deserializejson(arguments.formData)><!--- make a CF array --->
<cfset var foo = isArray(result)> <!--- TRUE! --->
<!--- ... etc ... --->
</cffunction>
Итак, вы взяли массив javascript, сериализовали его в JSON, отправили его в ваш cfc, который получил его как строку, а затем десериализовалиэто к "родному" массиву CF.То же самое будет работать для переноса js-объектов / структур между javascript и CF соответственно (в отличие от простого массива в этом примере).