Как я могу отправить объект javascript на удаленный компонент CFC - PullRequest
4 голосов
/ 01 декабря 2011

Я создал объект 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 Ответ

7 голосов
/ 01 декабря 2011

Лично я бы внес лишь незначительные изменения.Например:

$.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/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...