Как изменить заголовки при возврате json в Coldfusion? - PullRequest
0 голосов
/ 12 ноября 2010

Я выполняю запрос и получаю следующий JSON:

{ 
"COLUMNS":["ID","TAGNAME"], 
"DATA":[[11,"gard"],[61,"garden"]] 
} 

Проблема в том, что я использую плагин (находится здесь http://www.devbridge.com/projects/autocomplete/jquery/#howto), который принимает данные только в следующем формате:

{ 
 query:'...', 
 suggestions:['...','...'], 
 data:['...','...'] 
} 

И поэтому я получаю эту ошибку каждый раз, когда вызываю данные:

a.suggestions is undefined
[Break on this error] (function(d){function l(b,a,c){a="("+c...h-a[a.length-1].length)+b}}})(jQuery);

1 Ответ

1 голос
/ 12 ноября 2010

Если вам нужно отформатировать ответ от ColdFusion, лучше всего просто написать его напрямую, используя cfoutput, а не пытаться заставить другую библиотеку втиснуть его в работу.

<cfoutput>
{
  "query" : "#url.query#",
  "suggestions" : [      
  <cfloop query="qryTags">
    "#qryTags.tagname#",
  </cfloop>
  ],
  "data" : [
  <cfloop query="qryTags">
    "#qryTags.id#",
  </cfloop>
  ]
}
</cfoutput>

Предупреждение: неразумно просто регургитировать значение url.query непосредственно в ваш JSON.Это может привести к атаке на ваш сайт. Лучше всего очистить это значение, чтобы убедиться, что оно может быть чисто инкапсулировано в строку JSON перед отправкой его клиенту.Это показано здесь просто для краткости в ответе на ваш реальный вопрос.

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