2013-01-11 7 views
0

올바르게 작동하는 CFC 함수를 통해 ColdFusion에서 CFGrid을 바인드하려했으나 로그인 후 CFGrid 페이지에 서핑하려고 시도하지 않았습니다. 모든 레코드가 채워집니다. 여기Adobe ColdFusion, CFGrid가 로그인을 얻은 후 페이지를 탐색 한 후 채워지지 않습니다.

grid.cfm 코드 :

<cfform name="GridForm"> 
    <cfgrid format="html" name="UserGrid" pagesize="10" selectmode="row" bind="cfc:Consumer.getUserinfo({cfgridpage},{cfgridpagesize},{cfgridsortcolumn},{cfgridsortdirection})">    

    <cfgridcolumn name="FirstName" width="300" header="FirstName" /> 
    <cfgridcolumn name="LastName" width="180" header="LastName" /> 
    <cfgridcolumn name="UserName" width="120" header="UserName" /> 
    <cfgridcolumn name="Age" width="60" header="Age" /> 
    </cfgrid> 
    <br/> 
</cfform> 

그리고 여기 내 CFC 기능입니다 :

<cfcomponent output="false"> 

    <cffunction name="getUserInfo" access="remote" returntype="struct" > 
     <cfargument name="page" required="true" /> 
     <cfargument name="pageSize" required="true" /> 
     <cfargument name="gridsortcolumn" required="true" /> 
     <cfargument name="gridsortdirection" required="true" /> 

     <cfif arguments.gridsortcolumn eq ""> 
     <cfset arguments.gridsortcolumn = "FirstName" /> 
     <cfset arguments.gridsortdirection = "asc" /> 
     </cfif> 

     <cfquery name="GetUser" datasource="MyDatabase" > 
     select  * 
     from  UserInfo 
     order by #arguments.gridsortcolumn# #arguments.gridsortdirection# 
     </cfquery> 

     <cfreturn queryconvertforgrid(GetUser, page, pagesize) /> 
    </cffunction> 

</cfcomponent> 

왜이 그리드는 로그인 후 채워되지 않습니다는?

+0

코드에 일부 오타 및 괄호가 누락되었습니다. 나는 당신이 여기 게시 한 내용에만 존재하고 실제로 귀하의 코드에는 존재하지 않는다고 가정하고 있습니다. 권리? 특히'bind' 문에'{'가 누락되었습니다. –

+0

1 단계 - 바인드 구문을 사용하지 않고 함수를 호출하고 반환 된 값을 덤프하면 어떻게됩니까? –

+0

@ Miguel-F의 의견에 감사드립니다. 누락 된 중괄호를 무시하십시오. 로그인하지 않고 페이지를 탐색하는 데 사용하는 동안 실제 코드가 작동합니다. 그리드가 데이터로 채워지지 않습니다. – Sonu

답변

1

Chrome에서 개발자 도구/자바 스크립트 콘솔을 사용하는 것이 좋습니다. 로그 XMLHTTPRequests를 사용합니다. 그런 다음 다음 번에 앱을 다시로드하면 콘솔에서 앱이 만들고있는 모든 ajax 호출과 성공 또는 실패를 표시합니다.

요청이 잘못되면 마우스 오른쪽 버튼으로 클릭하고 새 탭에서 열어 문제를 정상적으로 해결하는 것처럼 오류 세부 정보를 볼 수 있습니다.