2013-10-07 2 views
0

В основном я, пройдя через код и столкнулся со следующей Ajax вызова с помощью JQuery:Не удалось найти метод в CFC

$.ajax({ 
url: '<cfoutput>#rootUrl#/#SessionPath#</cfoutput>/cfc/xyz.cfc? 
method=AddNewBatch&returnformat=json&queryformat=column&_cf_nodebug=true&_cf_nocache=true', 

1) Я прошел через xyz.cfc много раз, и не в состоянии найти какой-либо метод с именем, AddNewBatch. Я делаю что-то неправильно? Просьба уточнить.

2) Также вы могли бы объяснить, что делает returnformat в URL-адресе? Или, пожалуйста, дайте мне знать, есть ли какая-либо документация для типа returnformat, упомянутого в вышеуказанном URL-адресе, я пройду через это.

Благодаря

+0

Спасибо за ваш ответ. Я все еще путаюсь с вопросом № 1. Для второго вопроса я понимаю, что это формат JSON, но интересно, что такое 'queryformat = column & _cf_nodebug = true & _cf_nocache = true'? – Tan

+0

Хорошо, спасибо! Я это выясню. – Tan

+5

Тан, еще раз ... если вы задаете вопросы по коду, вам нужно предоставить код! Увеличивает ли xyz.cfc другой CFC? Есть ли метод 'onMissingMethod()'? –

ответ

1

Другие намекая на него уже, но вполне возможно, что ваш xyz.cfc расширяет другой CFC, что действительно есть метод AddNewBatch(). Посмотрите на верхнюю часть кода xyz.cfc и посмотрите, есть ли в строке компонента атрибут «extends». Если это так, найдите этот CFC, и вы можете найти свой метод.

Если вы не знакомы, один CFC может «продлить» другое, что означает, что он включает в себя все его функции и функции расширенного CFC. Это объектно-ориентированная концепция.

0

1) Вы получаете доступ к этому методу удаленно. Убедитесь, что у вас есть доступ = «удаленный» в определении AddNewBatch функции в вашем xyz.cfc

<cfcomponent displayname="I am Xy Y Z" output="false"> 

    <cffunction name="AddNewBatch" access="remote" output="false" returnformat="JSON"> 
     <!--- do something here ---> 
     <cfset var somestruct={structkey1=1,structkey2=2}> 
     <cfreturn somestruct /> 
    </cffunction> 

</cfcomponent> 

2) «returnformat» является параметром, который вы передаете этот метод. Никогда не пробовал этот подход, но когда я устанавливаю returnFormat в определении функции, я уверен, что эта функция всегда будет возвращать JSON «стробированный» назад, без mather, если я возвращаю запрос или любой другой объект. См. Пример.

Проверьте последний ответ здесь, он может дать вам несколько идей. How should I send variables to a coldfusion action page with ajax post?

Смежные вопросы