CFC для подачи событий в jQuery FullCalendar - PullRequest
0 голосов
/ 30 мая 2011

Я пытаюсь заполнить раздел событий FullCalendar строкой JSON из cfc.CFC возвращает данные, но я не могу вернуть данные в формате, необходимом для этого плагина.Календарь не отвечает на события.Что мне нужно сделать при настройке моего cfc для возвращения правильного формата.JSON, который я получаю, выглядит следующим образом.

[["id: 237","title: Robert Byrd - First Appt.","start: 2011-05-24 11:00:00.0","allDay: false"],["id: 238","title: Margie Hambro - First Appt.","start: 2011-05-14 08:00:00.0","allDay: false"],["id: 302","title: Judy Nichols - First Appt.","start: 2011-05-17 15:50:00.0","allDay: false"],["id: 303","title: Ben Parker - First Appt.","start: 2011-05-23 10:15:00.0","allDay: false"],["id: 304","title: Robert Lentz - First Appt.","start: 2011-05-24 11:25:00.0","allDay: false"]]

<cffunction name="getLeadAppointments" access="remote" returnformat="json" returntype="any">
<cfargument name="start" type="any" required="true" default="">
<cfargument name="end" type="any" required="true" default=""> 
<!--- Get data --->
<cfquery name="data" datasource="#VARIABLES.dsn#">
SELECT  LS.LeadSched_ID AS id, 
LTRIM(COALESCE (CM.Contact_FName, '') + ' ' + COALESCE (CM.Contact_LName, '') + ' - ' + LD.DevType_Desc) AS event,
LS.LeadSched_TargetDate AS Start, 
LS.LeadSched_ActualDate
FROM    ...
Where   convert(varchar(25), LS.LeadSched_TargetDate) BETWEEN #dateAdd("s", ARGUMENTS.start, "01/01/1970")# AND #dateAdd("s", ARGUMENTS.end, "01/01/1970")#
</cfquery>

<cfsilent>
<cfset calEvents = ArrayNew(2)>
<cfoutput query="data">
<cfset calEvents[#currentRow#][1] = 'id: #data.id#'>
<cfset calEvents[#currentRow#][2] = 'title: #data.event#'>
<cfset calEvents[#currentRow#][3] = 'start: #data.start#'>
<cfset calEvents[#currentRow#][4] = 'allDay: false'>
</cfoutput>
<cfset calData = SerializeJSON(data)>
</cfsilent>

<cfreturn calEvents>
</cffunction> 

Ответы [ 2 ]

1 голос
/ 30 мая 2011

Это предположение, но я сильно подозреваю, что ваш клиентский код хочет что-то, похожее на это:

[{"id": "237","title": "Robert Byrd - First Appt.","start": "2011-05-24 11:00:00.0","allDay": false}, ...]

Обратите внимание, что записи во внешнем массиве здесь изменены из массивов строк (каквы) в объекты, и что ваши исходные строки были разделены на две части (исключая логическое свойство в конце «allDay», которому присваивается родной логический JSON false).

0 голосов
/ 30 мая 2011

Вы указали JSON в качестве формата возврата в вашей функции?

<cffunction name="myCoolFunction" returnformat="JSON" ... >

Было бы полезно продолжить отладку, если бы вы могли публиковать саму функцию, а не только ее результаты.

...