在Coldfusion中返回json时如何更改标题?

时间:2010-11-12 00:03:21

标签: json coldfusion

我正在运行查询并返回以下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 个答案:

答案 0 :(得分:1)

如果您需要自定义格式化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字符串中。这里只是为了简洁回答你的真实问题。