Как я могу отправить объект javascript на удаленный компонент CFC
Я создал объект javascript
var spanglist = {
one: q1,
two:q2,
three:q3,
four: q4};
Я создаю объект jjery ajax для отправки данных в CFC:
$.ajax({
url: 'gridly/components/pay.cfc',
type:"POST",
dataType:' json',
data: {method: "structFromJSobjt",
returnFormat:"json",
jsStruct: spanglist}
});
в моем коде у меня есть следующий простой код:
<cffunction name="structFromJSobj" access="remote" output="false" >
<cfargument name="jsStruct" required="true" default="" />
<!--- AT this point I would like to work with the data contained in the jsStruct object. I can't access the data regardless of the typeI make the cfargument --->
</cffunction>
Может ли кто-нибудь увести меня в сторону, чтобы поиграть с данными, как только они окажутся в функции.
1 ответ
Решение
Лично я бы внес лишь незначительные изменения. Например:
$.ajax({
url: 'gridly/components/pay.cfc',
type:"POST",
dataType:' json',
data: {method: "structFromJSobjt",
returnFormat:"json",
jsStruct: JSON.stringify(spanglist)}
});
И на стороне CF:
<cffunction name="structFromJSobj" access="remote" output="false" >
<cfargument name="jsStruct" required="true" type="string" />
<cfset var cfStruct = DeserializeJSON(arguments.jsStruct)>
<!--- now use your structure --->
</cffunction>
Одна вещь, на которую следует обратить внимание, это нечеткая доступность метода JSON.stringify() в некоторых браузерах. Поэтому я рекомендую получить json2.js с http://www.json.org/