Как я могу отправить переменную массива в удаленный метод ColdFusion CFC через ajax с помощью jQuery?

У меня есть CFC-функция ColdFusion, подобная этой:

<cffunction access="remote" name="getResults"
    returntype="struct"
    returnformat="JSON"
    output="no">

    <cfargument name="q" required="true" type="array" />

...
</cffunction>

Как мне вызвать эта функция из jQuery? Ни одна из форм кодирования массива с помощью jQuery не заставит ColdFusion увидеть значение как массив.

Если вы передадите «q = a & q = b» (например, с jQuery.ajaxSettings.traditional = true), функция получит строку «a, b», а не массив. Хотя разделение на запятую может показаться возможным, это не сработает, если одно из значений «q» содержит запятую. Кроме того, в идеале, функция на стороне сервера не должна знать о проблемах, связанных с сериализацией данных по сети, и должна продолжать принимать массив.

Если вы передадите "q [] = a & q [] = b " (по умолчанию jQuery), он не будет отображаться на параметр «q». Если вы попытаетесь изменить имя параметра «q» на «q []», CFC выдаст ошибку из-за недопустимого имени параметра.

10
задан jrduncans 22 October 2010 в 17:24
поделиться